Estoy tratando de abrir una nueva ventana de comandos en un archivo BAT:
start %windir%\system32\cmd.exe
Después de que se abra, me gustaría ejecutar un comando BAT en la nueva ventana:
echo "test in new window"
¿Cómo puedo hacer esto?
fuente
cmd
. Solo puedes escribirstart rails s
.Use lo siguiente en su archivo por lotes:
o
Consulte la documentación de cmd.exe utilizando
cmd /?
para obtener más detalles.El formateo adecuado de la cadena de comandos se vuelve un poco más complicado con espacios en los argumentos. Vea los ejemplos a continuación. Tenga en cuenta el uso de comillas dobles anidadas en algunos ejemplos.
Ejemplos:
Ejecute un programa y pase un parámetro de nombre de archivo:
CMD /c write.exe c:\docs\sample.txt
Ejecute un programa y pase un nombre de archivo largo:
CMD /c write.exe "c:\sample documents\sample.txt"
Espacios en la ruta del programa:
CMD /c ""c:\Program Files\Microsoft Office\Office\Winword.exe""
Espacios en la ruta del programa + parámetros:
CMD /c ""c:\Program Files\demo.cmd"" Parameter1 Param2
CMD /k ""c:\batch files\demo.cmd" "Parameter 1 with space" "Parameter2 with space""
Inicie demo1 y demo2:
CMD /c ""c:\Program Files\demo1.cmd" & "c:\Program Files\demo2.cmd""
Fuente: http://ss64.com/nt/cmd.html
fuente
Esto no es muy fácil.
El mejor enfoque es tener la parte de su script que desea que se ejecute en una "nueva ventana" para que esté en un archivo .bat separado. Esto podría no ser práctico si, por ejemplo, necesita mucho estado del resto de su script (variables, etc.). Una opción es pasar cualquier valor que necesite (por ejemplo, dir para operar) al archivo por lotes:
Si tiene una gran cantidad de estado para transmitir, puede considerar generar un archivo por lotes en tiempo de ejecución:
Obviamente este es un ejemplo trivial.
fuente
Las respuestas anteriores me ayudaron. Pero todavía requería un poco de comprensión. Aquí hay un script de ejemplo que uso para iniciar 3 procesos para el desarrollo web. Resulta en 3 ventanas que permanecen abiertas, ya que necesitan ejecutarse continuamente.
Mongo se ha agregado globalmente a mi camino, por lo que no necesito hacer un CD como lo hago para los otros dos programas. Por supuesto, la ruta a sus archivos variará, pero espero que esto ayude.
fuente
Gracias a todos aquí en Stack Overflow; Esta solución resuelve la pregunta anterior, pero se extiende para ejecutar automáticamente estas tareas:
Supongo que mi proyecto se llama "anticuario".
Cree un archivo "init.bat" en su directorio % USERPROFILE% (abra una ventana de cmd y eche un vistazo a la ruta a la izquierda del cursor para saber qué es% USERPROFILE%)
En una nueva ventana de línea de comando, escriba: C:> init antiquorum
El código abre dos ventanas cmd más y un navegador. TIMEOUT evita errores en el navegador.
La sección : inicio hace el trabajo. Puede ejecutar las tareas 1,2 o 4 por separado escribiendo parámetros como: servidor , trabajador o ninguno para dejar un cmd abierto en la raíz del proyecto "anticuario" .
Disfrutar.
fuente
Si entiendo que está haciendo esto correctamente, su archivo bat abrirá el símbolo del sistema e imprimirá su mensaje en la pantalla.
espero que esto ayude.
fuente
para ejecutar un archivo de Python en una nueva ventana de cmd con espacios en el nombre del archivo:
fuente
Agregar entre dos comandos ejecuta ambos comandos .
/k
in order
Ejemplo:
este comando se abrirá primero y
command prompt
luego ejecutará elecho "hello"
comandofuente