DOS バッチ コマンド ファイル読み込みから複数コピーでディレクトリもつくる

DOS バッチ コマンド ループ 変数 ファイル読み込みから複数コピーでディレクトリもつくる

DOSコマンドプロンプトなんて使わないと思ってましたが、
フォルダが増えるとファイルエクスプローラーでいちいちフォルダをクリックして更にクリックしてなんて面倒くさい。
しかもオリジナルファイルをバックアップして、リネームするのが面倒くさい。
そんなときに、コマンドプロンプトは便利です。
explorer .とすると現在のディレクトリのファイルエクスプローラーを起動できます。
explorer ディレクトリ でそのディレクトリのファイルエクスプローラーを起動できます。

このDOSバッチファイルは
テキストファイルに記載されたファイルをコピーします。
コピー先にディレクトリが無いときは作成してコピーします。

使い方は
リスト.csvに
A_DIR¥A.txt B_DIR¥B.txt
のように、スペースで空けて二列をつくります。
A.txtがコピー元
B.txtの列がコピー先になります。
B_DIRが存在しないときは作成します。
また、コピー元が存在しないときは、コピーしません。
ループの中の変数の扱いが少し厄介です。

コマンドプロンプトでバッチ名を入力してリターンをすると
リストのCSVのパスとファイル名が表示されてポーズ状態になります。
このリスト名が正しければどれかキーを入力します。
するとコピーが始まります。
コピー元が存在しないときはコピーしません。
そして、コピー先のディレクトリが存在しないときはディレクトリを作ります。入れ子になっていても作ります。
そして、コピーした数とリストの数を出力しますので、いくつコピーが成功したかわかります。

・解説
ループ内の変数の扱いは右辺を「!」で囲む。左辺はそのまま。

こちらの記事もどうぞ