시작된 프로그램에 전달 된 매개 변수와 함께 "start"명령 사용


223

Virtual PC 2007에 가상 컴퓨터가 있습니다.

데스크탑에서 시작하려면 배치 파일에 다음 명령이 있습니다.

"c:\program files\Microsoft Virtual PC\Virtual PC.exe" -pc "MY-PC" -launch

그러나 가상 컴퓨터가 종료 될 때까지 호스트 컴퓨터에 dos 프롬프트가 남고 가상 PC 콘솔을 종료합니다. 그거 짜증나네.

그래서 대신 START 명령을 사용하도록 명령을 변경했습니다.

start "c:\program files\Microsoft Virtual PC\Virtual PC.exe" -pc MY-PC -launch

그러나 가상 PC에 전달 된 매개 변수를 질식시킵니다.

START /?매개 변수가 실제로 해당 위치로 이동했음을 나타냅니다. 누구든지 START를 사용하여 여러 명령 줄 인수가있는 프로그램을 시작 했습니까?

답변:


466

START는 첫 번째 매개 변수 주위에 큰 따옴표가 포함되어 있습니다. 첫 번째 매개 변수에 큰 따옴표가 있으면이를 새 창에 대한 선택적 TITLE로 사용합니다.

나는 당신이 원하는 것이 믿습니다.

start "" "c:\program files\Microsoft Virtual PC\Virtual PC.exe" -pc MY-PC -launch

즉, 프로그램 이름 앞에 빈 제목을 지정하여 가짜로 만드십시오.


2
더 이상 사용되지 않습니까? Win 7에서 다음을 얻습니다Start-Process : Cannot validate argument on parameter 'FilePath'. The argument is null or empty. Supply an argument that is not null or empty and then try the command again
geotheory

1
누가 상상 했을까. 귀하의 답변에 대한 찬성 횟수는 Microsoft가이 '특이성'을 수정하기에 충분한 이유 여야합니다.
Piyush Soni

7
@geotheory 나는 이것이 오래된 의견임을 알고 있지만 PowerShell에서 start는 Start-Process의 별칭입니다. cmd.exe (구식이 있지만 사용되지는 않음)에서 "start"는 다릅니다. 둘 다 다른 프로세스를 시작하기위한 것이지만 start는 cmd의 이전 내장 명령입니다.
Adam Plocher

이로 인해 많은 두통이 발생했습니다. 솔루션 주셔서 감사합니다!
uceumern

15

배치 파일 대신 바탕 화면에 바로 가기를 만들 수 있습니다.

대상을 다음으로 설정하십시오.

"c:\program files\Microsoft Virtual PC\Virtual PC.exe" -pc "MY-PC" -launch

그리고 당신은 모두 설정되었습니다. 명령 프롬프트를 시작하여 시작하지 않기 때문에 DOS Box가 없습니다.


3

공백은 DOS / CMD 문제이므로 다음을 통해 경로로 이동해야합니다.

cd "c:\program files\Microsoft Virtual PC"

다음을 통해 VPC를 시작하십시오.

start Virtual~1.exe -pc MY-PC -launch

~1처음에 처음 exe을 의미합니다 "Virtual". 거기이다 그래서 경우 "Virtual PC.exe""Virtual PC1.exe"첫 번째는 것이 Virtual~1.exe두 번째 Virtual~2.exe에 등을.

또는 VirtualBox와 같은 VNC 클라이언트를 사용하십시오.


1
이것은 합리적인 해결 방법처럼 보이지만 실제로는 근본적인 문제를 해결하지 못합니다.
Sam

1
짧은 파일 이름을 사용하지 않으면 작동하지 않습니다. 시스템에서 8.3 파일 이름을 항상 비활성화합니다
phuclv

1

이 답변들 중 어느 것도 나를 위해 일하지 않았습니다.

대신 Call 명령을 사용해야했습니다.

Call "\\Path To Program\Program.exe" <parameters>

나는 이것이 실제로 완성을 기다리는 지 확신하지 못한다.


@rene 편집 해 주셔서 감사합니다. 더 많은 답변을 추가하면 코드 블록 형식을 사용해야합니다.
JustAnotherMikhail

0

"특이성"의 대답은 정확하며 질문에 직접 대답합니다. TimF가 대답했듯이 첫 번째 매개 변수는 따옴표로 묶여 있으므로 창 제목으로 취급됩니다.

또한 가상 PC 옵션은 'start'명령 자체에 대한 옵션으로 취급되며 'start'에는 유효하지 않습니다. 'start'명령이있는 모든 버전의 Windows에 해당됩니다.

인용 된 매개 변수를 제목으로 취급하는 '시작'과 관련된이 문제는 게시 된 문제보다 훨씬 성가시다. 이것을 실행하면 :

start "some valid command with spaces"

창 제목에 대한 명백한 결과와 함께 새로운 명령 프롬프트 창이 나타납니다. 더 성가신이 새 창은 사용자 정의 글꼴, 색상 또는 창 크기를 상속하지 않으며 cmd.exe의 기본값입니다.


0

c의 테스트 폴더에 매개 변수와 .exe 파일을 전달하려는 경우 : 드라이브

start "parameter" "C:\test\test1.exe" -pc My Name-PC -launch

c의 테스트 폴더에 매개 변수와 .exe 파일을 전달하지 않으려면 : 드라이브

start "" "C:\test\test1.exe" -pc My Name-PC -launch

H의 테스트 폴더에 매개 변수와 .exe 파일을 전달하지 않으려는 경우 (기타) 드라이브

start "" "H:\test\test1.exe" -pc My Name-PC -launch


0

매개 변수에 큰 따옴표를 사용해야하는 경우 " 'c : \ somepath'는 내부 또는 외부 명령, 실행 가능한 프로그램 또는 배치 파일로 인식되지 않습니다"라는 오류가 발생할 수 있습니다. 이중 인용 부호를 사용할 때 아래 솔루션을 제안합니다. https://stackoverflow.com/a/43467194/3835640


0

경로 + 프로그램이 아닌 경로 지정 에만 [ /D"Path"] 사용 을 사용하여 따옴표를 사용할 수 있습니다 . 뒤에 나오는 동일한 줄의 모든 코드는 정상적인 경로로 돌아가는 것으로 나타납니다. 경로와 파일을 분리 할 필요가 없습니다./D

    start  /D "C:\Program Files\Internet Explorer\" IEXPLORE.EXE

또는:

    start  /D "TITLE" "C:\Program Files\Internet Explorer\" IEXPLORE.EXE

기본 웹 페이지로 IE를 시작합니다.

    start  /D "TITLE" "C:\Program Files\Internet Explorer\" IEXPLORE.EXE www.bing.com

Bing으로 시작하지만 홈페이지를 재설정하지는 않습니다.

/D "디렉토리"를 나타내며 따옴표를 사용하는 것이 좋습니다!

잘못된 예 :

    start  /D "TITLE" "C:\Program Files\Internet Explorer\IEXPLORE.EXE"

제공합니다 :

ERROR " 현재 디렉토리가 유효하지 않습니다. "

/D디렉토리 경로 만 따라야합니다. 그런 다음 공간과 배치 파일 또는 시작 / 실행하려는 프로그램

XP에서 테스트되고 작동하지만 Windows Vista / 7 / 8에서는 UAC를 약간 조정해야 할 수 있습니다.

-Mrbios


-1

/b 매개 변수

start /b "" "c:\program files\Microsoft Virtual PC\Virtual PC.exe" -pc "MY-PC" -launch

이 매개 변수는 무엇을합니까?
Azeezah M 2016

3
@AzeezahM / b는 새 cmd 창이 열리지 않음을 의미합니다. 이것은 op의 질문에 대답하지 않습니다.
aclave1

-4

당신이 시도 했습니까?

start "c:\program files\Microsoft Virtual PC\Virtual PC.exe" "-pc MY-PC -launch"

?


-4

명령을 배치 파일에 넣고 매개 변수를 사용하여 호출하십시오.

또한, 당신은 아직 이것을 시도 했습니까? (파라미터를 캡슐화하기 위해 끝 따옴표 이동)

start "c:\program files\Microsoft Virtual PC\Virtual PC.exe -pc MY-PC -launch"

-4

"Virtual PC.exe"를 폴더의 "VirtualPC.exe"와 같이 공백이없는 이름으로 변경하십시오. start "path"""로 쓰면 CMD가 경로가 제목 인 새 cmd 창을 시작합니다. 공백이없는 이름으로 이름을 변경하고 메모장에서 이름을 쓴 다음 Name.cmd 또는 Name.bat와 같이 저장합니다.

CD\
CD Program Files
CD Microsoft Virtual PC
start VirtualPC.exe
timeout 2
exit

이 명령은 CMD를 폴더로 리디렉션하고 VirualPC.exe를 시작하고 2 초 동안 기다렸다가 종료합니다.


1
소프트웨어가 업데이트되면 어떻게됩니까? 갑자기 고립 된 virtualpc.exe가 있습니다.
Michael Beck
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.