1

一部のサーバーで日次レポートに必要なデータを収集するために、さまざまなWMIクエリを使用しようとしています。失敗するスクリプトの唯一の部分は、特定のサービスのステータスを照会する最後のステップです。コマンドラインに手動で入力するとクエリは正常に機能しますが、バッチスクリプトにダンプすると失敗します。私は昔ながらのWindowsコマンドラインの使用に制限されているので、PowerShellやvbは使用しません。コマンドは次のとおりです。

wmic /OUTPUT:"%HOMEDRIVE%%HOMEPATH%\Desktop\AutoDMR\DMRAuto_3.txt" service where "name like 'MPCX%' or name like 'nm%' or name like 'nb%' or name like 'ssacpha%' or name like 'EMC%'" get name,state,status /FORMAT:htable

ありがとう!

4

1 に答える 1

2

バッチ スクリプト内のすべてのパーセントは 2 倍にする必要があります。たとえば'EMC%''EMC%%'

また、FOR /F IN() 句内でコマンドを実行しようとする場合は、GET 句のコンマを としてエスケープする必要があります^,

for /f ... in ('wmic ... get name^,state^,status ...') do ...
于 2013-02-06T20:20:37.877 に答える