我想通過PS來完成以下任務,並且遇到了需要的問題。我已經嘗試了很多不同的格式來編寫這個腳本,這是我想到的最接近的。PowerShell終止多個進程
我運行以下,沒有錯誤,但沒有結果。
$softwarelist = 'chrome|firefox|iexplore|opera' get-process | Where-Object {$_.ProcessName -eq $softwarelist} | stop-process -force
這是另一個我正在嘗試的例子,但這個例子並沒有終止我提供的所有進程(IE在W8.1中)。
1..50 | % {notepad;calc} $null = Get-WmiObject win32_process -Filter "name = 'notepad.exe' OR name = 'calc.exe'" | % { $_.Terminate() }
感謝您的幫助!
我已經給這一個嘗試,這確實與-match到位當量的工作。你簡化字符串是一種改進,我會用它來代替。 -eq不能以這種方式與變量數組一起使用嗎? – lasersauce 2014-08-28 22:37:14
我不知道'-eq'是如何對陣的,但在這種情況下'$ softwarelist'不是一個數組,它是一個字符串。要創建一個數組,你必須將它分開,例如'$ softwarelist -split'|''。 – 2014-08-29 02:46:59