毎週金曜日の夜にファイルがディレクトリに配置されます。私はバッチファイルを(簡単なコピーコマンドで)ファイルをアーカイブするために書いています。そして、名前を変更してOLAPデータベースにファイルをロードする必要があります。残念ながら、ファイル名は日付と時刻を基準にしているので、毎週ファイル名を知りません。私が知っているのは.txt
です。フォルダ内のファイルに基づいて変数を作成する
これはフォルダ内の唯一のファイルなので、ファイル名に基づいて変数を作成できますか?
これは私がこれまで持っているものです:
if not exist "%LoadFolder%\*.txt" (
rem Send email notification that the latest Exchange Rates file does not exist...
"E:\Programs\PuTTY\plink.exe" -v -ssh servername -pw password /u02/hyp_app/Scripts/STFC/STFC_File_Not_Exist.ksh
exit
) else (
rem 1) Copy latest file to Archive folder...
FOR /F "delims=|" %%I IN ('DIR "%LoadFolder%\*.txt" /B /O:D') DO SET NewestFile=%%I
copy "%Load%\%NewestFile%" "%LoadFolder%\Archive\%NewestFile%"
rem 2) Rename the latest file to Load_File.txt...
FOR /F "delims=|" %%I IN ('DIR "%LoadFolder%\*.txt" /B /O:D') DO SET NewestFile=%%I
REN "%LoadFolder%\%NewestFile%" "Load_File.txt"
)
REM rest of code..........
私が持っている問題は、フォルダ内のファイルとは対照的に、フォルダがLOAD_FILEにリネームされていることです。私は間違って何をしていますか?
質問を編集するには、[コード]ボタンを使用してテキストウィンドウでコードを適切にフォーマットします。 – sambul35
[バッチファイルのデバッグ](http://www.robvanderwoude.com/battech_debugging.php) – DavidPostill