경로가있는 "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.