다음 cmd 스크립트의 차이점은 무엇입니까?


10

배치 파일을 통해 여러 프로그램을 시작하려고 시도했지만 문제가 발생했지만 과거는 아닙니다.

스크립트와 명령 줄을 처음 접했을 때 이것이 내 질문 일 것입니다. 다음 cmd 스크립트의 차이점은 무엇입니까?

이건 받아

Start Chrome

(여기서 설치된 일부 프로그램은 chrome.exe가 프로그램이 아직 실행되는 위치가 아니지만 레지스트리 키가이 부분에 영향을 미치더라도 제목으로 인식됩니다.)

이것도 작동합니다

cd "FOO_DIR"
start FOO.exe

그러나 이들은하지 않습니다

start "FOO_DIR\FOO.exe"

(FOO.exe를 시작하지 않고 새 창을 엽니 다)

start /B "FOO_DIR\FOO.exe"

(저작권 텍스트를 다시 쓰고 다른 작업은 수행하지 않습니다)

(OS Windows 7 x64)

답변:


17
Start Chrome

이것은 Chrome의 실행 파일이 PATH환경 변수 에있는 폴더에 있기 때문에 작동 합니다. start해당 변수의 모든 폴더에서 프로그램을 찾습니다. 환경 변수 PATHEXT에는 찾을 파일 확장자 목록 .exe이 포함되어 있으며 기본적으로 포함되어 있으므로 쓸 필요가 없습니다 chrome.exe.


start "FOO_DIR\FOO.exe"

start인용 된 경우 첫 번째 인수를 창 제목으로 사용 하므로 작동하지 않습니다 . 그러면 "FOO_DIR\FOO.exe"제목으로 새 CMD가 열립니다 .

이를 피하기 위해 명령 앞에 빈 제목 인수를 추가하면됩니다.

start "" "FOO_DIR\FOO.exe"

또한 명령 줄 스위치를 사용하여 실행 파일을 시작할 때 제목 인 AFAIR는 필수입니다.
abstrask

1
그것은이지 않는다 start예상하는 첫 번째 인수로 제목 (다른 start chrome것하지 작업)이 있음을의 경우 첫 번째 인수를 인용, 그것은 제목이 될 것으로 기대하고있다.
jamesdlin

@ jamesdlin 아, 이것에 대한 문서는 약간 모호합니다. 감사합니다. 그에 따라 답변을 편집했습니다
crater2150

5

"title"적어도 ""다음 start과 같이 추가 하거나 시도하십시오 .

start "title" "FOO_DIR\FOO.exe"

또는

start "title" /B  "FOO_DIR\FOO.exe"

문제의 근본 원인은 ""따옴표의 첫 번째 인수가 titlecmd창의 매개 변수 로 해석되기 때문 입니다.

또한 명령 참조 (링크) 를 보는 데 도움이됩니다.


고마워, 그 차이를 분명히했다. 그리고 첫 번째 파일로 "실행 파일이 아닌 파일은 파일 이름을 명령으로 입력하기 만하면 파일 연결을 통해 호출 될 수 있습니다"라고 생각합니다. 이름만으로도 충분한 이유는 ... (아직 확실하지 않음)
Mr. Smith

당신이 firts 예제에 대해 이야기하고 있다면 start chrome크롬을 호출하면 작동합니다. 어딘가에 레지스트리에 항목이 있기 때문입니다. 실행 파일의 전체 경로가 포함 된 항목을 찾습니다.
Art Gertner
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.