※ ChatGPTを利用し、要約された質問です(原文:バッチファイルにおける環境変数分の繰り返し処理)
バッチファイルで環境変数を利用したファイル移動の自動化方法
このQ&Aのポイント
バッチファイルでCSVから読み込んだファイル名を環境変数に格納し、その環境変数に合致するファイルを自動で移動する方法について紹介します。
CSVから読み込んだファイル名を環境変数に一つずつ格納し、移動するファイルの数に応じて自動で処理を行います。
環境変数の数を取得し、繰り返し処理で一つずつファイル名を読み込んで移動するバッチファイルの作成方法について解説します。
こんにちは。
現在、CSVから読み込んだ値(ファイル名)を環境変数に格納し、その環境変数に合致したファイルの移動を行う。というバッチファイルを作成しています。
作成にあたってCSVからのファイル名の読み込み及び、環境変数に全てのファイル名を1個ずつ格納する事(a1=AAやa2=BBなど)には成功したのですが、その後のファイルを移動するコマンドが上手く書けません。
ちなみに
move "*%a1%*.txt" "C:\"
move "*%a2%*.txt" "C:\"
上記のように1個ずつ手動で環境変数を指定しての移動は出来るのですが、その日によって
取得するファイル名(環境変数の数)が異なってくる為、可能であれば自動で環境変数の数を取得し環境変数分、1個ずつ環境変数からファイル名を読み込み、そのファイルを移動させる。と言ったバッチを組みたいのです。
よろしくお願い致します。
------------------------------------------------------------------
set count=1
for /f %%i in (test.csv) do @call :add %%i
goto PROCESS1
:add
set a%count%=%1
set /A count+=1
goto :EOF
:PROCESS1
※移動するコマンド
------------------------------------------------------------------
お礼
出来ました!!ご回答ありがとう御座いました!