경로가 포함된 "start" 및 공백이 포함된 명령을 사용하여 Windows에서 배치 파일을 만드는 방법

StackOverflow https://stackoverflow.com/questions/72671

  •  09-06-2019
  •  | 
  •  

문제

Windows .cmd 파일에서 여러 콘솔 응용 프로그램을 시작하는 배치 파일을 만들어야 합니다.이는 start 명령을 사용하여 수행할 수 있습니다.

그러나 명령에는 경로가 있습니다.또한 공백이 있는 매개변수도 전달해야 합니다.어떻게 해야 하나요?

예:배치 파일

start "c:\path with spaces\app.exe" param1 "param with spaces"
도움이 되었습니까?

해결책

사실, 그의 예는 효과가 없을 것입니다(처음에는 나도 그럴 것이라고 생각했지만).시작 명령에 대한 도움말을 기반으로 첫 번째 매개 변수는 새로 생성된 명령 프롬프트 창의 이름이고 두 번째와 세 번째 매개 변수는 각각 응용 프로그램 및 해당 매개 변수의 경로여야 합니다.앱 경로 앞에 또 다른 ""를 추가하면 제대로 작동할 것입니다(적어도 저에게는 그랬습니다).다음과 같이 사용하십시오.

start "" "c:\path with spaces\app.exe" param1 "param with spaces"

새 명령 프롬프트의 제목을 원하는 대로 첫 번째 인수를 변경할 수 있습니다.생성된 Windows 앱인 경우 명령 프롬프트가 표시되지 않으며 제목은 중요하지 않습니다.

다른 팁

아포스트로피를 사용하여 경로를 이스케이프하는 것은 정확하지만 start 명령은 새 창의 제목이 포함된 매개변수를 사용합니다.이 매개변수는 주변의 아포스트로피로 감지되므로 애플리케이션이 실행되지 않습니다.

다음과 같이 시도해 보십시오.

start "Dummy Title" "c:\path with spaces\app.exe" param1 "param with spaces"
start "" "c:\path with spaces\app.exe" "C:\path parameter\param.exe"

위의 제안을 사용했을 때 다음을 얻었습니다.

'c:\path'는 내부 또는 외부 명령, 실행할 수 있는 프로그램, 배치 파일이 아닙니다.

두 번째 인용 부호가 명령 실행을 방해한다고 생각합니다.아래 솔루션을 검색한 후 하루를 절약하세요.

start "" CALL "c:\path with spaces\app.exe" "C:\path parameter\param.exe"

흥미롭게도 Windows Embedded Compact 7에서는 제목 문자열을 지정할 수 없는 것 같습니다.첫 번째 매개변수는 명령 또는 프로그램이어야 합니다.

다음과 같은 것을 사용해야 합니다:

시작 /d C:\Windows\System32\calc.exe

시작 /d "C:\Program Files\Mozilla

Firefox" firefox.exe 시작 /d

"C:\프로그램 파일\마이크로소프트

Office\Office12" EXCEL.EXE

또한 특수 배치 파일 편집기를 사용하는 것이 좋습니다. 닥터배처

예제에서와 같이 경로와 인수를 따옴표 안에 공백으로 둘러싸야 합니다.명령은 매개변수가 전달될 때 따옴표를 처리해야 할 수도 있지만 일반적으로 큰 문제는 아닙니다.

나는 성공적으로 조사했고 그것은 나에게 잘 작동하고 있습니다.내 요구 사항은 Windows의 배치 파일에서 호출해야 하는 vbscript를 사용하여 이메일을 보내는 것입니다.오류 없이 사용하고 있는 정확한 명령은 다음과 같습니다.

START C:\Windows\System32\cscript.exe "C:\Documents and Settings\akapoor\Desktop\Mail.vbs"
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top