2016-12-11 28 views

回答

3

Powershell具有內置功能。 獲取過程 獲取過程會告訴你所有的過程。如果你想與特定的一個過濾,然後使用:

獲取進程| {$ _名稱-eq '記事本'。} ​​

截圖供參考:

在命令提示符鍵入powershell:

enter image description here

運行上面的查詢。如果記事本正在運行。它會告訴你: enter image description here

希望它可以幫助...

+0

在cmd提示符下輸入第一個powershell。然後運行我粘貼的上述命令。如果直接使用cmd提示,那麼管道將無法工作,因爲在作爲輸入的管道後傳遞的值是powershell cmdlet。這就是爲什麼它沒有返回任何東西。 –

3

考慮以下提議(在批處理文件運行):

tasklist | findstr /R ^notepad.exe 

簡單,但作品!

tasklist /? 

將向您展示過濾和管理輸出的很多優秀選項。

findstr /? 

也將向你展示一個偉大的組選項來搜索和過濾的tasklist

輸出我希望這有助於。

+0

啓發謝謝!很好的答案,只有一個問題:執行時間需要10多秒!有沒有辦法在更短的時間內做到這一點? –

+1

你有很多進程在運行嗎?它對我來說運行得非常快...... –

+0

是的,我傾向於一次運行多個進程。 –

2

你可以做這樣的事情在批處理文件:

這一個是從Check if a process is running or not?

@echo off 
Title Check for running process . . . 
mode con cols=50 lines=3 
set "MyProcess=notepad.exe" 
set delay=5 
:Main 
cls 
Tasklist /FI "IMAGENAME eq %MyProcess%" | find /I "%MyProcess%">nul && (
    echo(& Color 9A 
    echo   PROCESS "%MyProcess%" IS RUNNING ! 
)||(
    echo(& Color 4C 
    echo  PROCESS "%MyProcess%" IS NOT RUNNING ! 
) 
Timeout /T %delay% /nobreak>nul 
Goto Main 
相關問題