USB 드라이브를 확인해야하는이 코드 블록이 있는데 내 유틸리티 드라이브로 태그를 지정한 파일이 있으면 실행됩니다 그들이 현재 있는지 확인하기 위해 그들에 robocopy 동기화.파일 존재 여부를 확인할 때 DelayedExpansion 변수를 드라이브 문자로 평가
문제는 파일의 경로를 올바르게 평가하지 못했기 때문입니다. 내가 뭔가를 인쇄 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:
"drixyype = 2이고 액세스가 0 인"wmic logicaldisk가 "name/format을 얻습니다."라고 생각하는 것으로 의심됩니다. – aphoria
죄송 합니다만, 임시적인 에코를 통해 테스트를 마쳐야한다고 편집자가 생각했습니다. – user3207335
'SET "curDrive = %% d"'바로 뒤에'ECHO %% d'와'ECHO! curDrive!'를 추가하십시오. 당신이 기대하는 것을 보여 주나요? – aphoria