2008-09-30 14 views
179

mam maszyny wirtualnej Virtual PC 2007.Korzystanie z „start” polecenia z parametrów przekazywanych do uruchomionego programu

Aby go uruchomić z pulpitu, mam następujące polecenie w pliku wsadowym:

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

Ale to pozostawia monit DOS na maszynie hosta, aż maszyna wirtualna zostanie wyłączona, a ja wyjdę z wirtualnej konsoli PC. To irytujące.

Więc zmieniłem polecenie, aby użyć polecenia START, zamiast:

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

Ale to dławiki od parametrów przekazywanych do Virtual PC.

START /? wskazuje, że parametry rzeczywiście należą do tej lokalizacji. Czy ktoś użył START do uruchomienia programu z wieloma argumentami wiersza polecenia?

Odpowiedz

368

START ma osobliwość udziałem cudzysłowie pierwszego parametru. Jeśli pierwszy parametr ma podwójne cudzysłowy, używa go jako opcjonalnego TITLE dla nowego okna.

wierzę, co chcesz, to:

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

Innymi słowy, nadać mu tytuł pusty przed nazwą programu do fałszywe go.

+75

„osobliwość” jest bycie miłym ... –

+11

+1 do specyfiki! – dierre

+0

Czy to jest przestarzałe? W Win 7 otrzymuję polecenie "Start-Process: Nie można sprawdzić poprawności argumentu parametru" FilePath ". Argument ma wartość zerową lub jest pusty. Podaj argument, który nie ma wartości null lub jest pusty, a następnie spróbuj ponownie wykonać polecenie " – geotheory

-3

próbowałeś:

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

?

-3

Umieść komendę wewnątrz pliku wsadowego i wywołaj ją za pomocą parametrów.

Również, czy próbowałeś już tego? (Move Koniec cytatu do hermetyzacji parametry)

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

Zamiast pliku wsadowego można utworzyć skrót na pulpicie.

Ustaw docelową do:

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

i gotowe. Ponieważ nie uruchamiasz wiersza polecenia, aby go uruchomić, nie będzie DOS Box.

3

Przestrzenie są Doss/CMDS Problemy więc należy udać się do Drodze poprzez:

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

a następnie po prostu zacząć VPC poprzez:

~1 oznacza pierwsze exe z "Virtual" Pod początek. Więc jeśli jest "Virtual PC.exe" i "Virtual PC1.exe", pierwszy będzie Virtual~1.exe i drugi Virtual~2.exe i tak dalej.

Lub użyj klienta VNC, takiego jak VirtualBox.

+1

To wygląda na sensowną pracę, ale tak naprawdę nie rozwiązuje problemu, który jest objęty akceptowaną odpowiedzią. – Sam

+0

to nie zadziała, jeśli krótkie nazwy plików nie są włączone. Zawsze wyłączam nazwy plików 8.3 w moich systemach –

0

Możesz używać cudzysłowów za pomocą ścieżki [/ D "Ścieżka]]/D tylko do określenia ścieżki, a nie do ścieżki + programu, a nie . Wygląda na to, że cały kod w tym samym wierszu, który następuje, powraca do normalnego znaczenia, nie trzeba oddzielać ścieżki i pliku.

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

:: lub

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

:: rozpocznie IE z domyślnej strony internetowej.

Start/D "TITLE" "C: \ Program Files \ Internet Explorer \" IEXPLORE.EXE www.bing.com :: Uruchamia się z Bing, ale nie resetuje strony głównej.

::/D oznacza "katalog" i używanie cudzysłowów jest OK!

:: ŹLE start/D "TYTUŁ" "C:. Program Files \ \ Internet Explorer \ IEXPLORE.EXE" :: ERROR "Bieżący katalog jest nieprawidłowy"/D musi następować tylko przez ścieżka do katalogu.
:: Wtedy przestrzeń i program wsadowy lub program, który chcesz uruchomić/run”

Przetestowane i działa pod XP, ale Windows Vista/7/8 może wymagać pewnych korekt do ZAK.

-Mrbios

-2

Zmień "Virtual PC.exe" na nazwę bez spacji, np. "VirtualPC.exe" w folderze Podczas pisania start "path" "" CMD rozpoczyna nowe okno cmd ze ścieżką jako tytułem. Zmień nazwę do nazwy bez spacji, zapisz to w Notatniku i po tym zapisz jak Name.cmd lub Name.bat:

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

To polecenie przekieruje CMD do folderu, uruchom VirualPC.exe, odczekaj 2 sekundy i wyjdź.

+0

Co się stanie, jeśli oprogramowanie zostanie zaktualizowane? Nagle masz osierocony program virtualpc.exe. –

0

Odpowiedź "osobliwość" jest poprawna i bezpośrednio odpowiada na pytanie. Jak odpowiedział TimF, ponieważ pierwszy parametr jest w cudzysłowie, jest traktowany jako tytuł okna.

Należy również pamiętać, że opcje Virtual PC są traktowane jako opcje samego polecenia "start" i nie są ważne dla "startu". Dotyczy to wszystkich wersji systemu Windows, które mają polecenie "start".

Ten problem z "uruchomieniem" traktujący cytowany parametr jako tytuł jest jeszcze bardziej irytujący niż problem z publikacją. Jeśli uruchomisz to:

start "some valid command with spaces" 

Otrzymasz nowe okno wiersza polecenia, z oczywistym wynikiem dla tytułu okna. Jeszcze bardziej irytujące, to nowe okno nie dziedziczy dostosowanej czcionki, kolorów ani rozmiaru okna, jest to domyślne ustawienie cmd.exe.

0

Jeśli chcesz przekazując parametr i plik .exe w folderze testowego dysku C:

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

Jeśli nie będą chcieli przechodzącą parametr i twój.plik exe w folderze testowego dysku C:

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

Jeśli nie będą chcieli przechodzącą parametr i plik .exe w folderze testowym H: (innej) jechać

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

0

"/ b" parametr

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

+0

Do czego służy ten parametr? –

+1

@AzeezahM/b oznacza, że ​​nowe okno cmd nie zostanie otwarte. To jednak nie odpowiada na pytanie op. – aclave1

0

Jeśli musisz użyć podwójnego cudzysłowu przy dowolnym parametrze, możesz uzyskać błąd "" c: \ somepath "nie jest rozpoznawane przez wewnętrzne lub zewnętrzne polecenie, działający program lub plik wsadowy". sugeruję poniżej rozwiązania przy użyciu podwójnego znaku qoutation: https://stackoverflow.com/a/43467194/3835640

Powiązane problemy