ワイルドカードサービスの再起動


21

現在、すべてのサービスを一覧表示する.BATファイルをセットアップして、それらを開始/停止します。

SC start SERVICE
SC start SERVICE

SC stop SERVICE
SC stop SERVICE

常に新しいサービスを追加するため、リストが大きくなり、バッチファイルを維持するのが難しくなります。

「SC start SERVICE *」などのWILDCARDを使用できますか?


1
どのWindowsバージョンですか?
エンドロ

回答:


17

wmicSQL風のワイルドカード構文を使用できます。

cmdコンソールから:

wmic service where "name like 'SERVICE%'" call startservice

.batスクリプトから:

wmic service where "name like 'SERVICE%%'" call startservice

利用可能な動詞にはstartservicestopservicepauseserviceresumeservice、など。やるwmic service call /?詳細は。


1
クエリ言語はWQL、BTWと呼ばれます。SQLのサブセットです。
ボブ

@ボブ-ああ。Yaは毎日新しいことを学びます。 :>
ロジョ

もう1つ追加したかっただけです。サービス名が認識されないエラーが発生しました。サービスにはサービス名と表示名があることがわかります。表示名ではなく、サービス名を使用する必要があります。あなたはとサービス名を見つけることができますsc query
jdramer

13

Powershell経由で簡単:

Get-service SERVICE* | stop-service -force

Get-service SERVICE* | start-service

これはwmicよりもずっと高速に実行されるため、これを支持しました。私のマシンでは、この方法でサービスのリストを取得するのに約2ミリ秒かかります。wmicを使用すると約13000ミリ秒かかります。
arjabbar

これら2つのコマンドを1回で組み合わせるにはどうすればよいですか?
ラジャアンバザハガン

0

1行のコマンドが必要な場合は、

PowerShellで事前に構築されたRestart-Service Cmdletを使用できます。

Restart-Serviceを使用するには、コマンドレットにサービス名を続けて呼び出します。

Restart-Service mysql57

複数のサービスを再起動するには、各サービスの名前をカンマで区切って指定するだけです:

Restart-Service mysql57,apache

必要に応じて、代わりに-displaynameパラメーターを追加し、サービスの表示名(サービススナップインに表示される名前)を指定します。

Restart-Service -displayname "Mysql 5.7 server"

このコマンドレットは、ワイルドカードマッチングも受け入れます。「mysql」で始まるすべてのサービスを再起動するには:

Restart-Service mysql*
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.