2008-09-30 6 views
179

У меня есть виртуальная машина в Virtual PC 2007.Использование «Пуск» команду с параметрами, передаваемыми в запущенной программе

Чтобы запустить его с рабочего стола, я следующую команду в пакетном файле:

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

Но это оставляет приглашение dos на главной машине, пока виртуальная машина не выключится, и я выхожу из консоли Virtual PC. Это раздражает.

Так что я изменил мою команду, чтобы использовать команду START, вместо:

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

Но давится параметров, передаваемых в Virtual PC.

START /? указывает, что параметры действительно находятся в этом месте. Кто-нибудь использовал START для запуска программы с несколькими аргументами командной строки?

ответ

368

У СТАРТ есть особенность двойных кавычек вокруг первого параметра. Если первый параметр имеет двойные кавычки, он использует это как дополнительный TITLE для нового окна.

Я считаю, что вы хотите:

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

Другими словами, дать ему пустой титул перед именем программы подделать его.

+75

«особенность» в настоящее время хорошо ... – 2008-09-30 17:31:13

+11

+1 за особенность! – dierre 2011-03-15 13:04:22

+0

Это устарело? В Win 7 я получаю `Start-Process: не могу проверить аргумент в параметре 'FilePath'. Аргумент пустой или пустой. Поставьте аргумент, который не является нулевым или пустым, а затем повторите попытку. – geotheory 2014-10-20 12:04:49

-3

вы пробовали:

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

?

-3

Поместите команду в пакетный файл и вызовите это с параметрами.

Кроме того, вы еще не попробовали это? (Переместить конечную котировку для инкапсуляции параметров)

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

Вместо пакетного файла вы можете создать ярлык на рабочем столе.

Установите цель по:

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

и вы все сделали. Поскольку вы не запускаете командную строку для ее запуска, не будет DOS Box.

3

Пространства ДОСС/Cmds Проблемы, так что вы должны пойти на Путь через:

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 и так далее.

Или используйте VNC-клиент, такой как VirtualBox.

0

Вы можете использовать кавычки с помощью [/ D "Путь"] использовать/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 означает "directory" и используя котировки OK!

:: НЕПРАВИЛЬНО старт/D "TITLE" "C:. \ Program Files \ Internet Explorer \ IEXPLORE.EXE" :: ERROR "Текущий каталог недействителен"/D должен следовать только путь к каталогу.
:: Тогда пространство и пакетник или программа, которую вы хотите запустить/Выполнить»

протестирована и работает под XP, но Windows Vista/7/8 может потребоваться некоторые изменения в UAC.

-Mrbios

-2

Измените «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 секунды и выйдет.

0

Ответ на «особенность» правильный и непосредственно отвечает на вопрос. Как ответил TimF, поскольку первый параметр находится в кавычках, он рассматривается как заголовок окна.

Также обратите внимание, что параметры виртуального ПК рассматриваются как параметры для команды «start» и недействительны для «start». Это справедливо для всех версий Windows, которые имеют команду «start».

Эта проблема с «началом» обработки цитируемого параметра в качестве заголовка еще более раздражает, что только что опубликованная проблема. Если вы запустите это:

start "some valid command with spaces" 

Вы получаете новое окно командной строки, с очевидным результатом для заголовка окна. Еще более раздражает, это новое окно не наследует настраиваемые шрифты, цвета или размер окна, это просто значение по умолчанию для cmd.exe.

0

Если вы хотите, передавая параметр и ваш EXE-файл в тестовой папке C: диск

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

Если вы не хотите, передавая параметр и ваш..exe файл в тестовой папке C: диск

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

Если вы не хотите, передавая параметр и ваш exe-файл в тестовой папке H: (любой другой) диск

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

0

"/ б" параметр

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

0

Если вы должны использовать двойную кавычку по любому параметру, вы можете получить ошибку «c: \ somepath» не распознается внутренней или внешней командой, операционной программой или командным файлом ». я предлагаю ниже решения при использовании двойной метки qoutation: https://stackoverflow.com/a/43467194/3835640

 Смежные вопросы

  • Нет связанных вопросов^_^