Windows no puede encontrar '-startvm'. Asegúrese de escribir el nombre correctamente y luego intente nuevamente.
Por otro lado, cuando lo hago en la ventana de línea de comandos actual sin que startal principio la máquina virtual se ejecute normalmente, pero en primer plano.
START ["title"] [/D path] [/I] [/MIN] [/MAX] [/SEPARATE | /SHARED]
[/LOW | /NORMAL | /HIGH | /REALTIME | /ABOVENORMAL | /BELOWNORMAL]
[/NODE <NUMA node>] [/AFFINITY <hex affinity mask>] [/WAIT] [/B]
[command/program] [parameters]
"title" Title to display in window title bar.
command/program
If it is an internal cmd command or a batch file then
the command processor is run with the /K switch to cmd.exe.
This means that the window will remain after the command
has been run.
If it is not an internal cmd command or batch file then
it is a program and will run as either a windowed application
or a console application.
parameters These are the parameters passed to the command/program.
Se espera un titleencerrado entre comillas ( "). Como la ruta de su programa incluía citas, se interpretó como el título. Agregar un título explícito (en este caso, vacío "") funciona.
Un método alternativo es usar el /dinterruptor para especificar la ruta. Específicamente:
Parece tomar el primer argumento después del /dcambio como la ruta, incluso si se cita, y si el siguiente argumento no se cita, entonces esto funciona. Todo después de lo que se reconoce como comando / programa se pasa como un parámetro a ese comando / programa. Tenga en cuenta que esto no funcionará si el comando / programa tiene espacios en el nombre, por ejemplo VBox Headless.exe, ya que eso requeriría comillas y sería reconocido como un título.
En general, el primer método (título explícito) es probablemente mejor. Fue una mala elección de diseño por parte de Microsoft, realmente deberían haber agregado un interruptor para el título en lugar de "¿está el primer argumento entre comillas?".
Muchas gracias por eso :) Aunque, como veo start /b, no pongas la máquina virtual en segundo plano. Tengo que pensar en otra cosa entonces.
Patryk
Si solo desea suprimir la salida ( stdout), agregue un >nulal final. Use >nul 2>nulal final para suprimir tanto la salida normal como la salida de error ( stderr). Sin embargo, la ventana del símbolo del sistema debe mantenerse abierta.
Bob
1
@Patryk Si no le importa usar PowerShell, este comando abrirá un proceso sin ventanas que no está conectado al proceso de generación (powershell.exe). Por lo tanto, la ventana de PowerShell se puede cerrar y VBoxHeadless seguirá ejecutándose. PowerShell viene con Windows 7.Start-Process -FilePath 'C:\Program Files\Oracle\VirtualBox\VBoxHeadless.exe' -ArgumentList '-startvm "debian604 64"' -WindowStyle Hidden
Bob
3
En realidad, la respuesta aceptada todavía no es una solución. Cerrar la ventana cmd donde se ejecutó el comando eliminará el proceso vboxheadless con la máquina virtual en ejecución.
El uso del siguiente enfoque hará que PowerShell ejecute un proceso independiente.
En cmd, ejecute:
cd "c:\Program Files\Oracle\VirtualBox"
vboxmanage list vms
En mi comentario sobre mi propia respuesta , ya he proporcionado un método alternativo para "ejecutar VBox sin cabeza". Mi respuesta en sí aborda la cuestión de "pasar argumentos con start".
start /b
, no pongas la máquina virtual en segundo plano. Tengo que pensar en otra cosa entonces.stdout
), agregue un>nul
al final. Use>nul 2>nul
al final para suprimir tanto la salida normal como la salida de error (stderr
). Sin embargo, la ventana del símbolo del sistema debe mantenerse abierta.Start-Process -FilePath 'C:\Program Files\Oracle\VirtualBox\VBoxHeadless.exe' -ArgumentList '-startvm "debian604 64"' -WindowStyle Hidden
En realidad, la respuesta aceptada todavía no es una solución. Cerrar la ventana cmd donde se ejecutó el comando eliminará el proceso vboxheadless con la máquina virtual en ejecución.
El uso del siguiente enfoque hará que PowerShell ejecute un proceso independiente.
En cmd, ejecute:
Esto devolverá algo como:
Ahora tome el UUID y ejecute lo siguiente (aún en cmd):
Gracias al autor de este artículo .
fuente
start
".cd
¡AHORRÉ MIS HORAS!