USBドライブをチェックするはずのこのコードブロックがあります。次に、それらをユーティリティドライブの1つとしてタグ付けするファイルがある場合、それらに対してrobocopy同期を実行して、それらが最新であることを確認します.
問題は、ファイルのパスを正しく評価していないことです。もし私はecho "!curDrive!\file.txt"
それが印刷されます\file.txt"
関連する(クリーンアップ/匿名化された)スクリプトのビットは次のとおりです。
@echo off
Setlocal EnableDelayedExpansion
for /f "tokens=2 delims==" %%d in ('wmic logicaldisk where "drivetype=2 and access=0" get name /format:value') DO (
SET "curDrive=%%d"
echo Looping variable set to %%d
echo Current drive set to !curDrive!
if exist "!curDrive!\file.txt" (
...
)
)
デバッグ用に入力したエコーは、すべての反復で期待される出力を取得します。
Looping variable set to L:
Current drive set to L: