Notice
Recent Posts
Recent Comments
공부중
[Batch] ~은(는) 예상되지 않았습니다. [IF EXIST] 본문
반응형
회사에서 batch 스크립트를 작성중이었는데 if exist를 이용해 해당 폴더의 경로가 존재하는지 확인해서 분기를 태우려고 했었다.. 하지만 ~은(는) 예상되지 않았습니다. 라고 나오는 문제가 발생했고 그 이후 라인은 엉망이 되었는데 어떤 문제인지 확인해 보자.
테스트는 아래와 같다.
이와 같은 폴더가 있고 각각의 폴더 안에 "001" 이라는 폴더가 존재한다.
두 batch 스크립트는 아래와 같다.
@echo off
@rem exist_Test.bat
set FIND_DIR=G:\Batch\testDir_1_\001
@echo FIND_DIR : %FIND_DIR%
if exist "%FIND_DIR%" (
echo EXIST PATH : %FIND_DIR%
) else (
echo NOT EXIST PATH : %FIND_DIR%
)
@echo off
@rem exist_Test_1.bat
set FIND_DIR=G:\Batch\testDir_(1)_\001
@echo FIND_DIR : %FIND_DIR%
if exist "%FIND_DIR%" (
echo EXIST PATH : %FIND_DIR%
) else (
echo NOT EXIST PATH : %FIND_DIR%
)
실행 결과는 아래와 같다.
두 스크립트의 차이는 찾으려고 하는 경로에 괄호가 들어갔다는 점이다..
이 괄호가 batch 스크립트에서 if범위 같은것을 표현하는것으로 인식하다보니 이상하게 해석되어서 실행되는것이다.
이 뿐만이 아니라 파일에도 괄호가 들어가 있으면 저렇게 안된다 -_-...
이거 뭐 해결법이 없나 했는데....
그냥 경로에 괄호를 사용하지 않기로 했다 -_-... 다른 좋은 방법이 있다면 알려주세요....
반응형