工作,我寫了一個命令行爲什麼多「查找」不SC查詢
sc query PlugPlay | FIND "SERVICE_NAME" | FIND "STATE"
只列出服務名稱,它的地位,但它沒有給出任何輸出。 請改正我如何列出服務名稱及其狀態(正在運行或已停止)。
工作,我寫了一個命令行爲什麼多「查找」不SC查詢
sc query PlugPlay | FIND "SERVICE_NAME" | FIND "STATE"
只列出服務名稱,它的地位,但它沒有給出任何輸出。 請改正我如何列出服務名稱及其狀態(正在運行或已停止)。
像這樣運行兩個管道不是「或」操作,而是「和」操作。它只會輸出包含SERVICE_NAME和STATE的行(它們不會是none,所以沒有輸出是正確的)。如果你只運行第一次發現它給出
C:\>sc query PlugPlay | FIND "SERVICE_NAME"
SERVICE_NAME: PlugPlay
C:\>
因此狀態信息已被刪除。
windows find
命令太簡單了,只能做你想做的事情,但是可以使用unix grep命令來實現。從cygwin例如:
$ sc query PlugPlay | grep -E 'SERVICE_NAME|STATE'
SERVICE_NAME: PlugPlay
STATE : 4 RUNNING
$
您可以使用Windows內置的findstr
命令做到這一點。如果您給它多個單詞以查找,用空格分隔,它將打印與任何單詞匹配的行(即findstr "a b"
相當於grep -E 'a|b'
)。
sc query plugplay | findstr "SERVICE_NAME STATE"
可能的重複http://stackoverflow.com/questions/2613826/regular-expressions-in-findstr –