원문 캡처 · devblogs.microsoft.com
원문 캡처 · devblogs.microsoft.com

배치 파일에서 프로그램을 실행할 때만 오류가 난다면 작업 폴더가 다른지 확인할 필요가 있다. 이 사례에서는 배치 파일에서 프로그램의 폴더로 이동한 뒤 실행하자 문제가 해결됐다.

탐색기에서 파일을 두 번 클릭하면 탐색기는 프로그램의 현재 디렉터리를 클릭한 파일이 있는 폴더로 설정한다. 이는 프로그램이 현재 디렉터리에서 관련 파일을 찾는 경우를 위한 동작이다. 예를 들어 ABC.LIT 파일을 연 LitWare Writer가 현재 디렉터리에서 목차 파일 ABC.LTC와 사용자 사전 파일 ABC.LDC를 찾는 상황을 들 수 있다. .exe 파일을 두 번 클릭할 때도 현재 디렉터리는 실행 파일이 있는 폴더로 설정된다.

반면 배치 파일은 프로그램을 전체 경로로 실행하면서 현재 디렉터리를 프로그램이 있는 경로로 바꾸지 않았을 수 있다. 해당 고객은 디렉터리를 명시적으로 변경하자 문제가 해결됐다고 확인했다. 구체적으로 pushd로 이동한 뒤 popd로 원래 디렉터리를 복원했다.

그 단계까지 가진 않았지만, 두 번째로는 프로그램이 App Paths에 사용자 지정 항목을 등록해 실행 시 추가 디렉터리를 PATH 환경 변수에 넣도록 했는지도 확인할 수 있다.

관련 자료: 탐색기에서 파일을 열 때 현재 디렉터리를 설정하는 방식, App Paths와 추가 경로 설정