Categories: OS

Windowsのバッチファイルの作り方とプロセス管理の実例3選

Windowsのバッチファイルは、簡単な自動化から高度なシステム管理まで幅広く活用できます。特に、プロセスの管理に関するバッチファイルを作成することで、業務効率を向上させたり、手作業を削減したりすることが可能です。本記事では、バッチファイルの基本的な作り方を解説し、プロセス管理を中心とした具体的なバッチファイルの例を3つ紹介します。初心者でも実践しやすいように、詳しく解説しますので、ぜひ最後までご覧ください。

バッチファイルとは?

バッチファイル(.bat)は、Windowsのコマンドプロンプトで実行できる複数のコマンドをまとめたファイルです。これを実行することで、複雑な処理を一括で行うことができます。

バッチファイルの基本構文

バッチファイルは、テキストファイル(.txt)を作成し、拡張子を「.bat」に変更することで作成できます。基本的な記述例は以下の通りです。

@echo off
echo Hello, World!
pause

このバッチファイルを実行すると、「Hello, World!」と表示された後、キー入力待ちの状態になります。

プロセス管理を扱うバッチファイルの例

バッチファイルを活用すると、特定のプロセスの監視、終了、起動を自動化できます。ここでは、プロセス管理に関する具体的なバッチファイルの例を3つ紹介します。

1. 指定したプロセスを終了するバッチファイル

特定のプロセスを終了させるバッチファイルを作成することで、不必要なアプリケーションを自動で閉じることができます。

コード例

@echo off
taskkill /F /IM notepad.exe
echo Notepadを終了しました。
pause

説明

  • taskkill /F /IM notepad.exe:強制的に「notepad.exe(メモ帳)」のプロセスを終了させます。
  • echo:処理完了のメッセージを表示します。
  • pause:キー入力待ち状態にして、実行結果を確認できるようにします。

2. 指定したプロセスが動作しているか確認するバッチファイル

特定のプロセスが起動しているかどうかを確認するバッチファイルを作成できます。

コード例

@echo off
tasklist | find "notepad.exe" > nul
if %errorlevel%==0 (
    echo Notepadは起動しています。
) else (
    echo Notepadは起動していません。
)
pause

説明

  • tasklist:現在実行中のプロセスの一覧を表示します。
  • find "notepad.exe":プロセス一覧から「notepad.exe」が含まれているか検索します。
  • if %errorlevel%==0:検索結果が見つかった場合の処理を指定します。
  • pause:結果を確認できるようにします。

3. 指定したプロセスを自動で再起動するバッチファイル

特定のプロセスが停止していた場合に、自動で再起動するバッチファイルを作成できます。

コード例

@echo off
:check
tasklist | find "notepad.exe" > nul
if %errorlevel%==1 (
    echo Notepadが停止しています。再起動します。
    start notepad.exe
)
timeout /t 10 /nobreak > nul
goto check

説明

  • :check:ループの開始地点を定義します。
  • tasklist | find "notepad.exe" > nul:プロセスを検索します。
  • if %errorlevel%==1:プロセスが見つからなかった場合に実行します。
  • start notepad.exe:メモ帳を起動します。
  • timeout /t 10 /nobreak > nul:10秒待機してから再度確認を行います。
  • goto check:ループを継続します。

まとめ

Windowsのバッチファイルを活用すれば、プロセスの管理を自動化し、業務の効率を向上させることができます。特に、

  • プロセスの強制終了
  • プロセスの状態確認
  • プロセスの自動再起動 といった処理は、日常的に役立つスクリプトです。

本記事で紹介したバッチファイルをカスタマイズし、業務や個人の環境に合わせて活用してみてください。

upandup

Web制作の記事を中心に、暮らし、ビジネスに役立つ情報を発信します。 アフィリエイトにも参加しています。よろしくお願いいたします。