Windowsバッチ処理でフォルダとテキスト生成

仕事で大量のフォルダ生成やらテキスト生成やらをやることがあったので、備忘録として残します。

そんなに使うこともないですが、覚えておくと生産性があがりそうです。

バッチでフォルダ生成方法

以下を参考にしました。
http://weekly.ascii.jp/elem/000/000/016/16041/

1.作成するフォルダの名前リストが入ったテキストを用意

そもそもこんなのを用意するのが面倒な気もしますが、エクセルやらなにやらで用意するのが良いかもしれません。

例. list.txt
hoge1
hoge2
hoge3

2.リストを読みだしてフォルダ生成するバッチを作成

以下のようなバッチファイルを作成します。

Makefolder.bat

for /f %%i in (list.txt) do md %%i

list.txtを読みだして、文字列を%%iに格納、各名前のフォルダを生成する処理です。

3.Makefolder.batを実行(ダブルクリック)

これで同フォルダにhoge1, hoge2, hoge3フォルダが生成されます。 

フォルダと同じ名前のテキスト生成

タイトルの通りです。

一つフォルダを作ってコピー→名前の変更

よりは確実に楽だと思います。

1.テキスト生成するバッチを作成(同じフォルダに保存)

以下はフォルダ名_1.txt, フォルダ名_2.txtが生成される処理例です。

makefolder.bat

for /d %%i in (*) do (
echo a >> %%i/%%i_1.txt
echo b >> %%i/%%i_2.txt
)

簡単な説明

%%i:バッチが入っているフォルダ内のフォルダ名が入る変数
(*):全フォルダに関してdo内の処理を行う
echo a/b >> %%i/%%i_1/2.txt:フォルダ名/フォルダ名_1/2.txtを新規作成する(txtが入っていないため新規作成される。ただし、aやらbの文字が入る)

2.バッチを実行(ダブルクリック)

hoge1の中にhoge1_1.txt, hoge1_2.txt、
hoge2の中にhoge2_1.txt, hoge2_2.txt、
hoge3の中にhoge3_1.txt, hoge3_2.txtが生成されます。
(それぞれテキスト内にはa, bが書かれている)


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です