我嘗試myapp通過運行以下命令直接從命令提示符和批處理腳本中按名稱查找應用程式:
D:\Files>wmic process where "commandline like '%myapp%'" get processid, commandline
CommandLine ProcessId
wmic process where "commandline like '%myapp%'" get processid, commandline 10744
myapp myarg1 myarg2 myarg3 2423
我想過濾掉wmic行程條目本身。我嘗試了以下命令:
D:\Files>wmic process where "commandline like '%myapp%' and commandline not like '%wmic%'" get processid, commandline
Node - XXXXXXXXXXX
ERROR:
Description = Invalid query
但它會輸出如上所示的錯誤。
我嘗試手動跳過第一行,more 1但輸出行(行程)的順序可能會發生變化。
可以做些什么來洗掉wmic行程條目?
uj5u.com熱心網友回復:
通過用方括號括起來指定范圍內的任何一個字符[]。
使用java評論中的示例:
在( like 陳述句的
示例(Linux' grep):
ps -ef | grep "[t]nslsnr"
結果有無[]

uj5u.com熱心網友回復:
運行特定命令并僅回傳所需實體的正確方法,直接在命令, 這是:
wmic process where "commandline like '%myapp%' and not commandline like 'wmic%'" get processid, commandline
這種機制的想法是排除 wmic 命令列本身。它通過詢問包含字串任何位置myapp但不包含以字串開頭的命令列的命令列來做到這一點wmic。
如果此命令在一個批處理檔案,百分比字符需要加倍,即
wmic process where "commandline like '%%myapp%%' and not commandline like 'wmic%%'" get processid, commandline
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/452909.html
