2008-09-30 1 views
179

ich eine Virtual Machine in Virtual PC haben 2007mit dem Befehl mit Parameter übergeben an das gestartete Programm „Start“

Um es vom Desktop aus zu starten, habe ich den folgenden Befehl in einer Batch-Datei:

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

Aber das lässt eine DOS-Eingabeaufforderung auf dem Host-Computer, bis die virtuelle Maschine heruntergefahren wird, und ich verlassen die Virtual PC-Konsole. Das nervt.

Also änderte ich meinen Befehl, um den START-Befehl zu verwenden, statt:

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

Aber es Drosseln auf die Parameter in Virtual PC übergeben.

START /? zeigt an, dass Parameter tatsächlich an diesem Ort gehen. Hat jemand START verwendet, um ein Programm mit mehreren Befehlszeilenargumenten zu starten?

Antwort

368

START hat eine Besonderheit mit doppelten Anführungszeichen um den ersten Parameter. Wenn der erste Parameter doppelte Anführungszeichen hat, verwendet er diesen als optionalen TITLE für das neue Fenster.

Ich glaube, was Sie wollen, ist:

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

Mit anderen Worten, es einen leeren Titel vor dem Namen des Programms zu fälschen geben es aus.

+75

„Besonderheit“ ist schön zu sein ... –

+11

+1 für Eigentümlichkeit! – dierre

+0

Ist das veraltet? In Win 7 bekomme ich 'Start-Process: Kann Argument am Parameter 'FilePath' nicht validieren. Das Argument ist null oder leer. Geben Sie ein Argument an, das nicht null oder leer ist, und wiederholen Sie dann den Befehl. – geotheory

-3

haben Sie versucht:

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

?

-3

Setzen Sie den Befehl in eine Batchdatei und rufen Sie ihn mit den Parametern auf.

Haben Sie das auch schon probiert? (Ende Zitat verschieben, um Parameter einzukapseln)

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

Anstelle einer Stapeldatei können Sie eine Verknüpfung auf dem Desktop erstellen.

Set das Ziel:

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

und du bist fertig. Da Sie keine Eingabeaufforderung starten, um es zu starten, wird es keine DOS-Box geben.

3

Die Räume sind Doss/CMDs Probleme, so dass Sie auf dem Weg über gehen sollte:

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

und dann einfach starten VPC über:

~1 bedeutet die erste exe mit "Virtual" bei der Anfang. Also, wenn es eine "Virtual PC.exe" und eine "Virtual PC1.exe" die erste wäre die Virtual~1.exe und die zweite Virtual~2.exe und so weiter.

Oder verwenden Sie einen VNC-Client wie VirtualBox.

+1

Dies sieht aus wie eine angemessene Work-around, aber es nicht wirklich das zugrunde liegende Problem, das durch die angenommene Antwort abgedeckt ist. – Sam

+0

Dies funktioniert nicht, wenn kurze Dateinamen nicht aktiviert sind. Ich deaktiviere immer 8.3 Dateinamen in meinen Systemen –

0

können Sie Anführungszeichen verwenden, indem Sie mit den Tasten [/ D "Path"] verwenden/D nur für den Pfad angeben und nicht der Pfad + Programm. Es scheint, dass der gesamte Code in der gleichen Zeile, der folgt, wieder normal ist, was bedeutet, dass Pfad und Datei nicht getrennt werden müssen.

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

:: oder

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

:: wird IE beginnen mit Standard-Web-Seite.

Start/D "TITLE" "C: \ Programme \ Internet Explorer \" IEXPLORE.EXE www.bing.com :: Beginnt mit Bing, aber setzt Ihre Homepage nicht zurück.

::/D steht für "Verzeichnis" und die Verwendung von Anführungszeichen ist OK!

:: FALSCH Start/D "TITEL" "C:. \ Programme \ Internet Explorer \ iexplore.exe" :: ERROR "Das aktuelle Verzeichnis ist ungültig"/D muss nur beachtet werden ein Verzeichnispfad
:: Dann Raum und die Batch-Datei oder ein Programm Sie starten möchten/run“

geprüft und Arbeiten unter XP aber Windows Vista/7/8 einige Anpassungen an UAC benötigen.

-Mrbios

-2

Ändern Sie die "Virtual PC.exe" auf einen Namen ohne Leerzeichen wie "VirtualPC.exe" im Ordner. Wenn Sie start "path" mit "" schreiben, startet der CMD ein neues cmd-Fenster mit dem Pfad als Titel. Ändern Sie den Namen zu einem Namen ohne Leerzeichen, schreibe dies auf Notepad und speichere danach wie Name.cmd oder Name.bat:

Dieser Befehl leitet die CMD zum Ordner um, startet die VirualPC.exe, wartet 2 Sekunden und beendet den Vorgang.

+0

Was passiert, wenn die Software aktualisiert wird? Plötzlich hast du eine verwaiste virtualpc.exe. –

0

Die Antwort in "Eigenheit" ist richtig und beantwortet direkt die Frage. Wie TimF antwortete, da der erste Parameter in Anführungszeichen steht, wird er als Fenstertitel behandelt.

Beachten Sie auch, dass die Virtual PC-Optionen als Optionen für den Befehl 'start' selbst behandelt werden und nicht für 'start' gültig sind. Dies gilt für alle Windows-Versionen mit dem Befehl 'start'.

Dieses Problem mit "Start", den zitierten Parameter als Titel zu behandeln, ist noch ärgerlicher als das gepostete Problem. Wenn Sie dies ausführen:

Sie erhalten ein neues Eingabeaufforderungsfenster, mit dem offensichtlichen Ergebnis für einen Fenstertitel. Noch ärgerlicher, dieses neue Fenster erbt nicht benutzerdefinierte Schriftart, Farben oder Fenstergröße, es ist nur der Standard für cmd.exe.

0

Wenn Sie vorbei Parameter und Ihre Exe-Datei in Testordner von Laufwerk C:

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

Wenn Sie nicht Parameter übergeben wollen und Ihre.exe-Datei im Testordner von Laufwerk C:

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

Wenn Sie nicht Parameter übergeben wollen und Ihre Exe-Datei in Testordner von H: (jede andere) fahren

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

0

"/ b" Parameter

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

+0

Was macht dieser Parameter? –

+1

@AzeezahM/b bedeutet, dass ein neues cmd-Fenster nicht geöffnet wird. Dies beantwortet jedoch die Frage von op nicht. – aclave1

0

Wenn Sie bei irgendeinem Parameter ein doppeltes Anführungszeichen verwenden müssen, können Sie den Fehler '' c: \ somepath 'erhalten, wird nicht als interner oder externer Befehl, ausführbares Programm oder Batch-Datei erkannt. " Ich schlage vor, unter Lösung, wenn Doppel qoutation Marke mit: https://stackoverflow.com/a/43467194/3835640

Verwandte Themen