그래서 기본적으로 형식의 파일이 있으면이 작업을 수행하고 그렇지 않으면 수행하십시오.Windows/일괄 처리/CLI | 왜 exist/else 문이 변수와 함께 작동하지 않는가?
.bat 파일을 토글하는 경우, cmd 창은 끝에 pause
조차 깜박입니다.
그래서 기본적으로 형식의 파일이 있으면이 작업을 수행하고 그렇지 않으면 수행하십시오.Windows/일괄 처리/CLI | 왜 exist/else 문이 변수와 함께 작동하지 않는가?
.bat 파일을 토글하는 경우, cmd 창은 끝에 pause
조차 깜박입니다.
명령의 일부가 아니며 그 행이 무시되거나 오류 메시지가 인쇄되면 행의 시작 부분에 else
이 삽입되면 닫는 대괄호가 필요합니다. 그리고 바깥 쪽에서 명령 출력을 구문 분석하려면 for /f
을 사용하고, 그렇지 않으면 for
을 사용해야합니다. 그리고이 같은 시도 if exist
대신 if exists
의 사용해야합니다,
set format1=txt
set format2=pdf
for %%h in (*.%format1%) do (
if exist "%%h" (
for %%i in (*.%format2%) do (
copy "%%i" "pdf\%%i"
)
) else (
copy "%%h" "txt\%%h"
)
)
안녕하세요, 답장을 보내 주셔서 감사합니다. 많이 변경하지 않았어. 그래도 작동이 안되는. – user3108268
@ user3108268 - 내 업데이트를 확인하십시오. – npocmaka
오, 나는 존재도 오타가 있었는지 안다? – user3108268
열고 cmd를 윈도우에서 배치 파일을 드래그하고 실행, 당신은 오류를 볼 수 있습니다. 또한, 존재하지 않는 경우, 이미 찾은 파일을 반복합니다. –
[대답 아래] (http://stackoverflow.com/a/43226133)에 지적 된 구문 오류를 정정 한 후에는 else 절을 실행하지 마십시오. 왜냐하면'for %% h'는 기존 값을 반환하기 때문입니다 파일 만; 코드가 의도 한 바가 무엇인지에 대한 명확한 설명을 제공하면 도움이 될 것입니다. – aschipfl