2011-06-10 39 views
19

我在Windows中编写了一个批处理文件(.bat)。我想在新窗口中执行特定的过程。我该怎么做呢?在批处理文件的新窗口中启动进程

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

你可以试试'开始a.py' – jeb 2011-06-10 12:43:07

回答

29

使用start命令:

start foo.py 

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

开始 “标题”, “C:\路径\到\的file.exe”

我强烈建议插入一个标题,以便稍后可以通过TASKKILL命令在需要时调用该标题。

TASKKILL/IM标题

+2

'TASKKILL/IM标题“不适用于我...或不再工作。我能找到的最接近的是“TASKKILL/FI”WINDOWTITLE eq title“',它只适用于设置标题实际设置窗口标题的过程。它不适用于notepad.exe等Windows应用程序。 – juanitogan 2016-09-24 21:06:09

+0

您可能需要使用'/ F'和'/ T'开关。'/ T'是为了杀死子进程而'/ F'是强制的。 – IGRACH 2017-03-05 21:14:20

0

按要求,我们可以按照这个样子。当我为自己的办公室目的进行自动化工作时。所以我需要创建一个特定时间的流程,&之后,我必须杀死服务/进程。 所以我做什么, 对于启动一个进程:

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

然后,我用我所有的其他作品&任务尝试。之后,我需要杀死这个过程。所以我这样做,

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

杀死后,结果顺利运行。

0

以下解决方案用于在同一窗口中调用多个文件;这个问题已经得到了回答,所以我只是加了我的2美分。

如果您正在使用调用多个其他批处理文件的主批处理文件,则可以使用“call”命令。虽然这些不是过程。

在其他批处理文件中,您可以调用“start”命令在单独的窗口中启动它们。

master.bat

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

如果您在使用Windows PowerShell,您可以使用Start-Process命令。

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 

有关启动命令及其用法的详细信息,以及其他脚本技术: https://ss64.com/nt/start.html

相关问题