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


78

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

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

예 : 배치 파일

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

답변:


165

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

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

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


인터넷에 달리 설명하는 많은 문서가 있지만 창 제목은 필수 인 것 같습니다. 해당 문서는 무시하십시오. Andy의 제안을 따르십시오.
Corin

대화 형에서 Windows 응용 프로그램 명령을 입력하면 응용 프로그램이 백그라운드에서 시작되고 새 프롬프트가 표시됩니다. 배치 스크립트에서 동일한 명령을 실행하면 애플리케이션이 포 그라운드에서 시작됩니다. 앱을 종료 할 때까지 배치 스크립트가 중지됩니다. Eek! 오랜 시간 동안 start를 사용하여 백그라운드에서 앱을 실행하려고했지만 start /B "app"작동하지 않고 start cmd /C "app"불필요한 콘솔을 제공합니다. 감사합니다!! 마침내 비창 시작을 위해 창 제목이 필요하다는 것을 알게되었습니다. 이것은 작동합니다 : start /B "" "app"
Keith Robertson

감사! /wait매개 변수가 지정된 경우에도 실제입니다 ! start /wait "%CDir%\cron.exe" -q -remove작동하는 동안 작동 start "" /wait "%CDir%\cron.exe" -q -remove하지 않습니다.
Fr0sT

. 내가 답을 찾았다 경우 나중에 그것은 내 하루 ((어쨌든 고맙습니다을 절약 할 수있다!
데니스 페트로프에게

15

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

다음과 같이 시도하십시오.

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

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

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

'c : \ path'는 내부 또는 외부 명령, 작동 가능한 프로그램 또는 배치 파일로 인식되지 않습니다.

두 번째 qoutation 표시가 명령 실행을 방해한다고 생각합니다. 솔루션 아래 몇 가지 검색 후 하루를 절약하십시오.

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

빈 파일 test 2.bat을 만든 다음 다음 test1.bat과 같이 파일을 만듭니다 START "Test title" "test 2.bat" %*.-이제 실행 test1.bat "param 1"하면 작동하지 않습니다. 왜 그런가요?
ale5000

1

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


0

다음과 같이 사용해야합니다.

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

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

Firefox "firefox.exe 시작 / d

"C : \ Program Files \ Microsoft

Office \ Office12 "EXCEL.EXE

또한 특수 배치 파일 편집기 -Dr.Batcher 를 사용하는 것이 좋습니다.


-1

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


-1

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

START C:\Windows\System32\cscript.exe "C:\Documents and Settings\akapoor\Desktop\Mail.vbs"

이것은 잘못된 것입니다. 당신은 쓸 수 있습니다 START "" "C:\Documents and Settings\akapoor\Desktop\Mail.vbs". vbs는 "시작"할 때 해결되는 확장이기 때문에 코드가 작동합니다. 경로와 함께 notepad.exe를 호출 해보십시오. 작동하지 않습니다. 항상 스크립트를 실행합니다.
Samuel
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.