2018. 6. 13. 00:23
반응형

윈도우 cmd나 powershell에서 어떤 프로그램을 실행하려고 할 때 경로에 띄어쓰기가 있으면 약간 곤란하다.

예를 들어 크롬의 경우 프로그램 실행 경로는 다음과 같다.


C:\Program Files (x86)\Google\Chrome\Application\chrome.exe


그런데 저걸 그대로 cmd에 입력하면 'C:\Program'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다. 라는 메세지와 함께 실행이 되지 않는다.


또한 저걸 그대로 파워쉘에 입력하면 다음과 같이 cmd의 경우보다는 뭔가 더 길게 뜨면서 실행이 안된다.

x86 : 'x86' 용어가 cmdlet, 함수, 스크립트 파일 또는 실행할 수 있는 프로그램 이름으로 인식되지 않습니다. 이름이 정확한지

 확인하고 경로가 포함된 경우 경로가 올바른지 검증한 다음 다시 시도하십시오.

위치 줄:1 문자:19

+ C:\Program Files (x86)\Google\Chrome\Application\chrome.exe

+                   ~~~

    + CategoryInfo          : ObjectNotFound: (x86:String) [], CommandNotFoundException

    + FullyQualifiedErrorId : CommandNotFoundException



프로그램 파일 폴더명에 공백이 있어서 이런 현상이 발생하는 것으로 파악된다.

그럴 경우 따옴표를 이용하여 문제를 해결할 수 있다.

그런데 cmd의 경우와 powershell의 경우 각각 다른 해결책을 써야 한다.


cmd의 경우 전체를 따옴표로 감싸야 제대로 된다. 그것도 무조건 쌍따옴표(")

"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"


powershell의 경우 Program Files (x86) 부분만 따옴표로 감싸면 된다.

큰따옴표, 작은따옴표 모두 사용 가능하다.

C:\"Program Files (x86)"\Google\Chrome\Application\chrome.exe


powershell에서 cmd처럼 전체를 감싸서 실행하면 그냥 콘솔에 경로가 문자로 찍히고 만다.

cmd에서 powershell처럼 입력하면 크롬이 실행되긴 하지만 뭔가 잘못된 것을 볼 수 있다.

반응형