[解決済み] バッチファイルを使用してサービスが実行されているかどうかを確認し、実行されていない場合は開始するにはどうすればよいですか?
2022-11-11 21:38:28
質問
以下の処理を行うバッチファイルを作成したい。
-
サービスが稼働しているかどうかを確認する
- 実行中であれば、バッチを終了させる
- 実行中でない場合は、サービスを開始します。
これまでググってきたコードサンプルは、動作しないことが判明したので、掲載しないことにしました。
サービスの起動は
net start "SERVICENAME"
- サービスが実行されているかどうかを確認するには、バッチファイル内で if 文を作成するにはどうすればよいですか。
- 少し混乱しています。net start に渡さなければならない引数は何ですか?サービス名またはその表示名ですか?
どのように解決するのですか?
サービスの状態を確認するには
sc query <SERVICE_NAME>
. バッチファイル内のifブロックの場合。
ドキュメントを参照してください。
.
次のコードは、サービスの状態をチェックします。
MyServiceName
の状態をチェックし、実行中でなければ開始します (サービスが実行中でなければ、if ブロックが実行されます)。
for /F "tokens=3 delims=: " %%H in ('sc query "MyServiceName" ^| findstr " STATE"') do (
if /I "%%H" NEQ "RUNNING" (
REM Put your code you want to execute here
REM For example, the following line
net start "MyServiceName"
)
)
何をするものなのかの説明
- サービスのプロパティを問い合わせます。
- テキスト "STATE"を含む行を探します。
- その行をトークン化し、サービスの状態を含む3番目のトークンを引き出します。
- 文字列 "RUNNING" に対して、結果の状態をテストします。
2番目の質問に関しては、引数として
net start
に渡したい引数は、サービス名です。
ではなく
は表示名ではありません。
関連
-
[解決済み] バッチファイルに引数を渡すにはどうしたらいいですか?
-
[解決済み] バッチファイル内で改行をエコーする方法を教えてください。
-
[解決済み] Windowsのシャットダウン、再起動、ログオフをbatファイルで行うには?
-
[解決済み] ファイルが存在しない場合、Windowsサービスをアンインストールするにはどうすればよいですか?
-
[解決済み] バッチファイル実行後にコンソールを自動終了させない方法
-
[解決済み] バッチファイルでの変数の定義と使用
-
[解決済み】バッチファイルやcmdファイルによるサービスの停止と開始は?
-
[解決済み] パラメータ中の二重引用符のエスケープ
-
[解決済み] Windows標準の.iniファイルでは、コメントを書くことができますか?
-
[解決済み] ブラウザからアプリケーションを起動するには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
SetTimer(タイマー)のいくつかの使い方
-
Win10ショートカットキーBOOK(史上最強の完成度)
-
DockerでWindows 10からVolumeボリュームにフォルダを共有する
-
[解決済み] パラメータ中の二重引用符のエスケープ
-
[解決済み] 渡された引数をWindowsのバッチファイルにリダイレクトする [duplicate]
-
[解決済み] PersonalとWeb Hostingの証明書ストアの違いは何ですか?
-
[解決済み] .bat "ファイルのコマンドラインパラメータを確認するには?
-
[解決済み] WindowsのIF内のバッチSETが機能しない
-
[解決済み] AVDのデフォルト設定フォルダ(.android)の移動
-
[解決済み] Git リポジトリを Windows でホスティングする