2011-06-10 190 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

相關問題