2011-06-10 15 views
19

He escrito un archivo por lotes (.bat) en Windows. Quiero ejecutar un proceso en particular en una nueva ventana. ¿Cómo hago esto?Iniciar un proceso en una nueva ventana desde un archivo por lotes

Ejemplo

a.py -s 3 -l 5 
b.py -k 0 -> I want to start this in a new window and let the original batch file continue 
C:\program.exe 
... 
.... 
+0

usted podría intentar iniciar '' a.py' – jeb

Respuesta

29

Uso del comando de arranque:

start foo.py 

o

start "" "c:\path with spaces\foo.py" 
5

inicio "título" "C: \ ruta \ a \ file.exe"

Recomiendo encarecidamente que inserte un título para poder llamarlo más adelante mediante el comando TASKKILL si es necesario.

TASKKILL/title im

+2

TASKKILL/IM title' no funciona para mí ... o ya no funciona. Lo más parecido que pude encontrar fue 'TASKKILL/FI" WINDOWTITLE eq title "' y eso solo funciona en procesos donde la configuración del título realmente establece el título de la ventana. No funcionará en aplicaciones de Windows como notepad.exe. – juanitogan

+0

Probablemente necesite usar los conmutadores '/ F' y'/T'.'/ T' es para matar procesos secundarios y'/F' es para la fuerza. – IGRACH

0

como por la exigencia, se puede seguir de esta manera. Como estaba haciendo un trabajo de automatización para el propósito de mi oficina. Entonces necesito crear un proceso por un tiempo determinado, & después de eso tengo que matar el servicio/proceso. Entonces lo que hice, Para iniciar un proceso:

**`start "API" C:\Python27\python.exe`** 

Luego probé con mis todas las demás obras & tareas. Después de eso necesito matar ese proceso. Así que lo hice,

**`taskkill /F /IM python.exe`** 

Después de matar el proceso, el resultado transcurrió sin problemas.

0

Las siguientes soluciones son para llamar a varios archivos en la misma ventana; esta pregunta ya ha sido respondida, así que solo estoy agregando mis 2 centavos.

Si está trabajando con un archivo maestro por lotes que llama a muchos otros archivos por lotes, usaría el comando "llamar". Sin embargo, estos no son procesos.

Dentro de los otros archivos de proceso por lotes puede llamar al comando "inicio" para iniciarlos en ventanas separadas.

master.bat

call myCoolBatchFile1.bat 
call myCoolBatchFile2.bat 
call myCoolBatchFile3.bat 

Si está utilizando Windows PowerShell, puede utilizar el comando Start-Proceso.

myPowershell.ps1:

#silent install java from java exe. 
$javaLogLocation = "[my log path here]" 
$javaFileName = "[javaInstaller file name here].exe" 
$process = "$javaFileName" 
$args = "/lang=1033 /s /L $javaLogLocation" 
Start-Process $process -ArgumentList $args -Wait 

Para obtener más información sobre la orden de marcha y sus usos, así como otra tecnología de secuencias de comandos: https://ss64.com/nt/start.html

Cuestiones relacionadas