【バッチファイルの使い方(2)】任意のフォルダ群をリスト化し、一連の空フォルダを一瞬で作成する

任意のフォルダ群をリスト化し、一連の空フォルダを一瞬で作成する

こんにちは。会計士KOです。

今回もバッチファイルの使い方について説明をしていきたいと思います!

今回は、

任意のフォルダ群をリスト化し、一連の空フォルダを一瞬で作成する

というテーマです。

何を言っているのかよくわからない方もいらっしゃるかと思いますので、実際にお見せします。以下のgifのイメージです。

 

このように、今回作成するバッチファイルでは、フォルダリストが記載されているテキストファイルをドラッグアンドドロップすると、一瞬で任意のフォルダ群が作成されます。

前回の記事では、フォルダ名・ファイル名のリストを取得するバッチファイルについて解説していきましたが、今回も同じようにそのリストを作成し、それをもとにフォルダ群を作成していくこととなります。

そもそもバッチファイルとはなにか、バッチファイルの作り方、CUIとGUIの違い等は前回の記事にまとめてあるので、是非確認をしてみてください。

【バッチファイルの使い方(1)】フォルダにあるファイルの名前を一気にエクセルでリスト表示する

では、実際にコードを見ていきましょう。

実際に作成してみる(1)リストを作るバッチファイル

リストを作るバッチファイル

こちらは前回の記事で軽く説明をしたような、

「任意のフォルダにあるフォルダの名前を取得し、テキストファイルにする」

というバッチファイルを作っていきます。

実際のコードはこちらです。メモ帳を開いて打ち込み、「.bat」拡張子をつけ保存して下さい。

 

ちなみに、、、

pushd %~dp0

というコードが追加されていますが、今は特に気にしないでください。定型文のようなものです。次回以降で解説をします。

こちらをフォルダコピーしたいディレクトリで実行すると、以下のようにfolderlistというリスト群が記載されたテキストファイルが作成されます。

中身を見てみると、ちゃんとフォルダの名前がテキストに入っているのが分かりますね。

 

こちらは前回説明した内容とほぼ同じですが、コードの内容や意味としては、以下の通りです。

コードの意味

コードの意味は以下の通りです。

コード 意味 内容
dir 命令文 「ディレクトリ名」+「ディレクトリにあるサブディレクトリとファイル名」を取得する
/b オプション 「ディレクトリ名」+「名」ではなく、「ディレクトリ名を除いた名」だけを取得する
/ad オプション /a:表示する属性の指定 + /d:表示する属性はディレクトリのみ
> 〇〇.csv 命令文 取得したデータを〇〇(CSV)に出力する

 

実際に作成してみる(2)フォルダを作るバッチファイル

フォルダを作るバッチファイル

では、次に、

「作ったfolderlist.txtをもとにフォルダ群を作る」

というバッチファイルを作っていきます。

実際のコードはこちらです。上記と同じように、メモ帳を開いて打ち込み、「.bat」拡張子をつけ保存して下さい。

これで2つ目のバッチファイルは完成です。

先ほどできたリストのテキストファイルをドラッグアンドドロップすれば最初に見たgifのようにフォルダ群を一瞬で作成することが可能です。

使い方はもう一度、以下のような感じです。

また、テキストファイル内のフォルダの名前を変えて保存し、ドラッグアンドドロップすれば更に自由に作成するフォルダ名を変更していくことも可能です。

以上のコードの内容や意味としては、以下の通りです。

コードの意味

コードの意味は以下の通りです。

コード 意味 内容
for in do 命令文 ループ処理を示します。
/f オプション テキストファイル内の文章を読み込んで、変数に代入する。
%%a オプション 変数です。「a」は任意のアルファベット1文字でも問題ありません。
%1 プレースホルダ プレースホルダです。ドラッグアンドドロップしたテキストファイルを引数にします。
mkdir %%a 命令文 代入されたテキストの文章の名前のディレクトリを作成する

ちょっとだけ難しいのですが、要は、

テキストファイルを与える(=%1)ので、以下を繰り返してね(=for in do)

 

①その中に書いてある文章を(=/f)変数に入れてね(=%%a)

 

②その変数の名前でフォルダを作成してね(=mkdir %%a)

というイメージです。また、分からなくても、とりあえず動くものは作れるかなと思います。

まとめ

今回もフォルダ操作について解説をしていきました。

変数が使われているのが若干ややこしいですが、まずはこれをコピペして便利なバッチファイルを作ることから始めてみてください。

バッチファイル、簡単なのに凄い、奥が深いです。

次の記事も楽しみにしていて下さい~!!