Domanda

Ho una macchina virtuale in Virtual PC 2007.

Per avviarlo dal desktop, ho il seguente comando in un file batch:

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

Ma questo lascia un prompt dos sulla macchina host fino a quando la macchina virtuale non si spegne e io esco dalla console di Virtual PC. È fastidioso.

Quindi ho cambiato il mio comando per usare il comando START, invece:

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

Ma soffoca sui parametri passati in Virtual PC.

START /? indica che i parametri effettivamente vanno in quella posizione. Qualcuno ha usato START per avviare un programma con più argomenti da riga di comando?

È stato utile?

Soluzione

START ha una peculiarità che coinvolge virgolette doppie attorno al primo parametro. Se il primo parametro ha virgolette doppie, lo utilizza come TITOLO facoltativo per la nuova finestra.

Credo che ciò che vuoi sia:

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

In altre parole, assegnagli un titolo vuoto prima del nome del programma per finirlo.

Altri suggerimenti

Invece di un file batch, è possibile creare un collegamento sul desktop.

Imposta l'obiettivo su:

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

e sei pronto. Dal momento che non si avvia un prompt dei comandi per avviarlo, non ci sarà DOS Box.

Gli spazi sono problemi DOS / CMD, quindi dovresti andare al percorso tramite:

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

e quindi semplicemente avviare VPC tramite:

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

~ 1 indica il primo exe con " Virtual " all'inizio. Quindi se c'è un " Virtual PC.exe " e un " Virtual PC1.exe " il primo sarebbe il Virtual ~ 1.exe e il secondo Virtual ~ 2.exe e così via.

O usa un client VNC come VirtualBox.

La risposta in "peculiarità" è corretto e risponde direttamente alla domanda. Come ha risposto TimF, poiché il primo parametro è tra virgolette, viene trattato come un titolo di finestra.

Si noti inoltre che le opzioni di Virtual PC vengono trattate come opzioni per il comando 'start' stesso e non sono valide per 'start'. Questo vale per tutte le versioni di Windows che hanno il comando 'start'.

Questo problema con 'start' tratta il parametro tra virgolette come titolo è ancora più fastidioso che solo il problema pubblicato. Se esegui questo:

start "some valid command with spaces"

Viene visualizzata una nuova finestra del prompt dei comandi, con il risultato ovvio per un titolo di finestra. Ancora più fastidioso, questa nuova finestra non eredita caratteri personalizzati, colori o dimensioni della finestra, è solo l'impostazione predefinita per cmd.exe.

Se devi usare le virgolette doppie su qualsiasi parametro, puoi ottenere l'errore "c: \ somepath" non è riconosciuto un comando interno o esterno, un programma eseguibile o un file batch ". Suggerisco di seguito la soluzione quando si utilizza il doppio segno di riferimento: https://stackoverflow.com/a/43467194/3835640

Puoi usare le virgolette usando [ / D " Path " ] usa / D solo per specificare il percorso e non il percorso + programma. Sembra che tutto il codice sulla stessa riga che segue ritorni al significato normale che non è necessario separare percorso e file.

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

o

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

avvierà IE con la pagina Web predefinita.

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

inizia con Bing, ma non reimposta la tua home page.

/ D sta per " directory " e usare le virgolette è OK!

ESEMPIO ERRATO:

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

dà:

  

ERRORE " La directory corrente non è valida. "

/ D deve essere seguito solo da un percorso di directory. Quindi spazio e file batch o programma che si desidera avviare / eseguire

Testato e funziona con XP, ma Windows Vista / 7/8 potrebbe richiedere alcune modifiche a Controllo dell'account utente.

-Mrbios

Nessuna di queste risposte ha funzionato per me.

Invece, ho dovuto usare il comando Chiama:

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

Non sono sicuro che questo in realtà aspetti il ??completamento ... il ridistribuibile C ++ che stavo installando è andato abbastanza veloce da non importare

Se si desidera passare il parametro e il file .exe nella cartella di prova di c: drive

start " parametro " & Quot; C: \ test \ test1.exe " -pc My Name-PC -launch

Se non vuoi passare il parametro e il tuo file .exe nella cartella test di c: drive

inizio " " & Quot; C: \ test \ test1.exe " -pc My Name-PC -launch

Se non si desidera passare il parametro e il file .exe nella cartella di test dell'unità H: (Any Other)

inizio " " & Quot; H: \ test \ test1.exe " -pc My Name-PC -launch

" / b " parametro

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

Cambia " Virtual PC.exe " a un nome senza spazio come " VirtualPC.exe " nella cartella. Quando scrivi inizia " percorso " con " " la CMD avvia una nuova finestra cmd con il percorso come titolo. Cambia il nome in un nome senza spazio, scrivilo su Blocco note e dopo questo salva come Name.cmd o Name.bat:

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

Questo comando reindirizzerà il CMD alla cartella, avvierà VirualPC.exe, attenderà 2 secondi e uscirà.

hai provato:

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

Inserisci il comando in un file batch e chiamalo con i parametri.

Inoltre, ci hai già provato? (Sposta la citazione finale per incapsulare i parametri)

start "c:\program files\Microsoft Virtual PC\Virtual PC.exe -pc MY-PC -launch"
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top