
Windows 11を使っていると、特定の作業をするときだけ必要になるサービスや、起動時に止めておきたいサービスがいくつかある場合があります。毎回ひとつずつ操作するのは手間がかかるため、バッチファイルでまとめて起動・停止できるようにしておくととても便利です。
この記事では、複数のサービスを一括で操作するバッチファイルの作成方法と、より確実に使える工夫をわかりやすく紹介します。
目次
どんなときに使えるのか
- ネットワーク関連のサービスをまとめて起動・停止したい
- 開発作業前に使うサービスだけ起動したい
- 一部の不要なバックグラウンドサービスを定期的に停止したい
- トラブル発生時に複数サービスを一括再起動したい
こうした場面で、サービスの管理を簡略化する手段としてバッチファイルは非常に有効です。
基本的な作り方:複数サービスを順番に制御する
以下は、3つのサービスを一括で停止し、再び起動する基本のバッチファイル例です。
例:Spooler、WlanSvc、Fax の一括操作

@echo off
echo === 複数サービスの停止 ===
net stop Spooler
net stop WlanSvc
net stop Fax
echo === 停止完了、続けて起動します ===
net start Spooler
net start WlanSvc
net start Fax
echo === 完了しました ===
pause
状態を確認してから制御する方法

無駄な再起動やエラーを避けたい場合、現在の状態を確認してから操作する方法もあります。
@echo off
setlocal
call :check_and_control "Spooler"
call :check_and_control "WlanSvc"
call :check_and_control "Fax"
goto end
:check_and_control
set SVC=%~1
sc query %SVC% | find "RUNNING" >nul
if %errorlevel%==0 (
echo [%SVC%] は起動中です。停止します...
net stop %SVC%
net start %SVC%
) else (
echo [%SVC%] は停止中です。起動します...
net start %SVC%
)
exit /b
:end
echo === すべての処理が完了しました ===
pause
このように分岐処理を入れると、現在の状態に応じて動作を変えられ、より柔軟なバッチになります。
応用:ログ付きで記録を残す
あとから確認したい場合は、ログファイルとして出力を残すことも可能です。
net stop Spooler >> logs\service_log.txt 2>&1
net start Spooler >> logs\service_log.txt 2>&1
フォルダはあらかじめ作成しておきましょう(logs
など)。
実際の活用例と注意点
活用例
- 印刷トラブル時に Print Spooler や関連サービスを一括再起動
- 無線LANの調子が悪いときに WlanSvc を再起動
- 開発環境で使わない Fax サービスなどを定期的に停止
注意点
- 管理者として実行しないと失敗することがあります
- サービス名は表示名ではなく内部名を使用する必要があります(例:
Print Spooler
→Spooler
) - 一部のサービスは依存関係により停止できないことがあります
実用性を高めるポイント
他の方法と比べたときの強みは以下の通りです。
- バッチファイルで作っておけば、タスクスケジューラから自動実行も可能
- 状態確認付きで、無駄な起動・停止を避けられる
- ログ記録やサービス名の柔軟な変更など、現場で使いやすい工夫ができる
単なるバッチではなく、実用性を意識した柔軟な管理ツールとしての使い方に特化しているのがこの記事の特長です。
まとめ
Windows 11で複数のサービスをまとめて操作したいとき、バッチファイルは非常に役立ちます。単純な構文から応用的な使い方までを理解しておけば、トラブル時の対応も格段に速くなります。
毎回手動でサービスを探す手間を減らし、必要なときに一発で処理できる環境を整えておきましょう。

最後までお読みいただきありがとうございます。
コメント