プロが教えるわが家の防犯対策術!

テキストファイルのファイル名を抽出して、
1行目に挿入する処理をbatファイルでしたいです。

<データの内容>

フォルダーの中に
1.txt
2.txt
3.txt
(ファイルが増える場合もあります)

1.txtのデータの中身が
ガソリンスタンド
スーパー
コンビニ


処理後

1
ガソリンスタンド
スーパー
コンビニ

と先頭にテキストのタイトルを入れたいです。
2.txt以降も同じ処理をしたいです。

これを、コマンドを使用し、batファイルで自動的に
実行したいです。
どのような方法があるでしょうか?

A 回答 (3件)

以下のBATCHで、ファイル名に".txt"が付いてしまう以外は実現できます


result は結果ファイル。既存だと末尾に追記される

for %%a in (*.txt) do call :sub %%a
exit /b
:sub
echo %1 >>result
type %1 >>result
    • good
    • 1

末尾に追記は出来るけど、先頭に追記するには、別のファイルにして後でリネームですね。



for %%A in (*.txt) do (
(echo %~nA
type %%A)> ___.tmp
move ___.tmp %%A
)


echo でファイル名から拡張子txtを除いたものを出力して、
それと type でファイルの中味を出力して、
括弧でまとめたものを ___.tmp というファイルに書く(この名前はかぶらないような適当なものを付ける)。
その ___.tmp を元のファイルに(上書きで)リネーム。

必要に応じてそのmoveの前に、ren %%A %%A.backup など入れる。
    • good
    • 0

ECHOコマンドで指定したファイル名をファイルに出力。


続いて指定したファイルをそのファイルにマージすれば良い。
マージはファイルをCOPYコマンドで結合すれば良いでしょう。面倒だもん。

あとはその繰り返しの工夫をするだけだ。

・・・
自身で可能なものを作りましょ。
他人に作ってもらうと何も進歩しませんからね。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A