.bat 파일에서 현재 디렉토리는 보통 %cd% 를 사용함.

아래 파일을 그냥 더블클릭해서 실행하면 일반적으로 기대하는, .bat 파일이 위치한 디렉토리 경로가 출력됨.

@echo off

echo %cd%
pause

 

하지만 만약 .bat 파일을 관리자 권한으로 실행하게 되면 C:\WINDOWS\system32 가 출력될 것임.

왜냐하면 %cd%는 current working directory를 의미하는데,

관리자 권한으로 실행하면 current working directory가 C:\WINDOWS\system32 가 되기 때문.

 

원래 의도했던 .bat 파일이 있는 위치를 사용하고 싶으면 %~dp0 를 사용하면 됨.

@echo off

echo %~dp0
pause

 

위 .bat 파일을 관리자 권한으로 실행해보면 .bat 파일이 위치하고 있는 경로가 출력됨.

 

 

Posted by bloodguy
,