エンジ部ログ

エンジニアもすなるブログというものを、

バッチファイル

バッチファイルでフォルダ作成 フォルダ名はテキストファイルで指定する

この記事では、テキストファイルで指定した名前のフォルダをバッチファイルで作成します。まず最初にこれを実現するバッチファイルのコードを以下に示します。

For /F %%i IN (.\folder_name.txt) DO (
md newfolder\%%i
)

このバッチファイルは、カレントディレクトリに保存されているfolder_name.txtというファイルから中身を読み取り、全ての行に記載されたフォルダ名のフォルダを、カレントディレクトリに作成したnewfolder内に作成します。

それでは次に、コード内の各役割を説明していきます。まず、今回最も重要なフォルダ作成コマンドは、mdコマンドになります。

md newfolder\%%i

このコマンドでは、newfolderというフォルダをカレントディレクトリに作成し、その直下に%%iという変数に格納された名前のフォルダを作成します。

この、%%iの値がどこで決定されているかというと、一番上のコード、

For /F %%i IN (.\folder_name.txt)

部分で指定しています。ここではまず、Forの後の/Fオプションによってこのfor文のループ条件をファイルに指定しています。それは、IN後の.\folder_name.txtに指定されます。この時、for文のループ回数はfolder_name.txtの行数によって決定され、%%iにそのループ回数目の行数に記載された値が格納されるといった流れになります。

終わりに

以上でバッチファイルでのフォルダ名をテキストファイルで指定したフォルダ作成が可能となります。今回、作成するフォルダは全てnewfolderというフォルダ直下に作成しました。これは作成するフォルダ数が膨大となった時のためのものです。

今回の方法を使えば、例えばfolder_name.txtをプログラムで作成した場合など、数千個のフォルダを一瞬で作成することが出来ます。もしも膨大なデータ解析をするときには非常に強力で便利なツールになるのではないでしょうか。

コメントを残す

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

CAPTCHA