バッチ ファイルをまとめて、光学ドライブを除くシステムの各論理ドライブでプログラムを実行しようとしています。光学式ドライブは問題なく除外されますが、何らかの理由で、変数に値がないことを除いて、テストしている構築済みコマンドのエコーが1回余分に実行されます。ループが null 値に対して余分な時間を繰り返しているようです。アイデア?
( IF NOT !drive! == %safe% は、スクリプトが存在するドライブに対してコマンドを実行しないようにするためのものであり、「安全」は単なる頭字語です)
for /F "usebackq skip=1 tokens=1,2" %%a IN (`wmic logicaldisk get DeviceID^,DriveType`) do (
SET drive=%%a
SET driveType=%%b
IF NOT !drive! == %safe% (
IF NOT !driveType! == 5 (
ECHO test commands
)
)
)