배치 파일의 IF 문이 제대로 작동하지 않습니다.

배치 파일의 IF 문이 제대로 작동하지 않습니다.
@ECHO OFF
PAUSE 
IF EXIST "C:\Program Files\NexphaseV6\ECF" (
    ECHO Directory exists! 
    PAUSE
) ELSE (
    MKDIR "C:\Program Files\NexphaseV6\ECF" 
    ECHO Directory made!
)
PAUSE

위의 배치 파일을 실행하면 항상 예상한 것과 반대되는 결과가 나타납니다.

따라서 디렉토리가 존재하면 "Directory Made!"라고 표시되고, 존재하지 않으면 "Directory Exists!"라고 표시됩니다.

기본적으로 잘못된 방향입니다. 왜 그렇습니까?

답변1

배치 파일은 괜찮아 보이고 여기에서도 작동합니다(디렉터리 생성 권한이 있는 한).프로그램 파일물론 관리자 권한(관리자) 명령 프롬프트에서 실행하는 것이 좋습니다.

한 가지 팁은 디렉토리 존재 테스트를 약간 수정하는 것입니다. 대신에:

IF EXIST "C:\Program Files\NexphaseV6\ECF"

당신은 사용해야합니다 :

IF EXIST "C:\Program Files\NexphaseV6\ECF\"

후행 백슬래시에 유의하세요. 이렇게 하면 동일한 이름의 파일이 있는 경우 테스트가 True를 반환하지 않습니다.

관련 정보