윈도우 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처럼 입력하면 크롬이 실행되긴 하지만 뭔가 잘못된 것을 볼 수 있다.
'dev' 카테고리의 다른 글
[Linux] 우분투 폴더 안의 소스파일 특정글자 찾아서 바꾸기 (0) | 2018.07.02 |
---|---|
[MariaDB] 마리아디비 서비스 등록 (0) | 2018.06.27 |
[Node.js] npm 패키지 설치 에러가 발생할 때 (0) | 2018.06.25 |
[Linux] 우분투 파이어폭스 설치하기 (0) | 2018.06.16 |
[Java/Spring] BCryptPasswordEncoder 암호화 (0) | 2018.05.31 |
[JavaScript] 특정 웹페이지에서 원하는 자바스크립트 실행 (0) | 2018.05.31 |
[Spring] 스프링프레임워크 크로스도메인 허용 (0) | 2018.05.25 |
[Spring/JSP] HttpServletRequest 모든 파라미터 출력하기 (2) | 2018.05.18 |