w7 では、後でリモート コンピューターでこれを行いたいため、psservice を使用してサービスのステータスを受け取りたいと考えています。
最初にローカル マシンでバッチ スクリプトを動作させようとします。
2 つの問題があります。最初の問題は、「D:/PsService.exe クエリ サーバー」が「サーバー」という名前を含むすべてのサービスをクエリすることです。特定の 1 つのサービス (この例では "Server" という名前のサービス) のみをクエリしたい。
もう 1 つの大きな問題は、バッチ スクリプトがまったく機能しないことです。それはただ「死ぬ」だけです(一時停止コマンドを実行せずにCMDウィンドウがすぐに閉じてしまうため、デバッグが非常に困難になります)。
サービスのステータスを変数に保存したいので、後で例を比較するために使用します (IF %Status% EQ "RUNNING")。
これまでの私のコード:
FOR /F token=3 %%i IN ('D:/PsService.exe query Server 2> NUL | find /I "STATE"') DO ( SET Status=%%i )
echo %Status%
pause
なぜCMDが死ぬのか、何が間違っているのですか?