2017-06-21 185 views
0

我有一個批處理文件,它啓動一個.exe,然後啓動另一個批處理文件。 如何獲得更新的cmd.exe實例的PID?獲取進程啓動的cmd實例的PID?

+0

通過使用任務列表,你甚至可以在PID過濾HTTPS:// ss64.com/nt/tasklist.html,在你的情況下,你可能想要過濾的名稱的exe文件 – 2017-06-21 13:50:57

+1

你可以試試[pslist](https://ss64.com/nt/pslist.html) - 它可以列出進程作爲列表,你可以檢查exe啓動了什麼。 – npocmaka

+1

你有沒有第二次啓動蝙蝠的控制權?你可以讓它打印它自己的PID到一個文件,稍後你可以紅色 – npocmaka

回答

0

最好的解決辦法來做到這一點(保存爲.bat文件,並嘗試)

它列出了與它開始的時間和PID在第3列的CMD.exe過程,讓你知道最新一個是你想要的! :)(或在這種情況下,一個剛剛因爲最新一期最新一期之前是在cmd運行檢查進程ID)

@echo off&cls 
pushd %~dp0 

powershell.exe -command "Get-Process | select name, starttime, id | out-file cmdproc.txt" 
find "cmd" cmdproc.txt 

echo. 
pause 
rem CLEANUP 
del /f cmdproc.txt 
+0

謝謝。我發現這個解決方案我認爲更好:http://www.dostips.com/forum/viewtopic.php?t=6133。但現在我有另一個問題。當試圖回顯變量%cmdpid%時,我得到「Echo is on」。我該如何解決它? –

+0

「Echo is on」是由於某處放置錯位的空間或角色,如果您有SET命令,請確保在等號附近沒有空格(請參閱:https://stackoverflow.com/questions/12328744/why -i-am-getting-echo-when-trying -print-a-variable-in-batch) – Rakha

+0

如果你想知道PID和WindowTitle或者當前的CMD,我建議你輸入以下代碼:https: //pastebin.com/AZ98y2XH 您可以將PID和WindowTitle變量保存到文件或其他任何文件中以供進一步處理。 – Rakha