バッチスクリプト - プロセス管理

こんにちは、熱心なプログラマー候補者たち!今日は、バッチスクリプトのワクワクする世界に飛び込み、Windowsコンピュータ上のプロセスとどのように対話できるかを探求します。プログラミングの初心者でも心配しないでください - 私は多くの例と説明を用いて、ステップバイステップで案内します。さあ、始めましょう!

Batch Script - Process

実行中のプロセスリストの表示

プロセスを管理する前に、システム上で何が実行されているかを知る必要があります。バッチスクリプトでは、実行中のすべてのプロセスを見ることができる便利なコマンド tasklist があります。

基本的な使用方法

まず、tasklist コマンドの最もシンプルな形から始めましょう:

@echo off
tasklist
pause

これを list_processes.bat として保存し、実行すると、プロセス名、プロセスID(PID)、メモリ使用量などが含まれる長いリストが表示されます。

出力のフィルタリング

時々、特定のプロセスを見つけたいすることがあります。フィルタを用いて検索を絞り込むことができます:

@echo off
tasklist /fi "imagename eq notepad.exe"
pause

このスクリプトは、実行中のNotepadのインスタンスのみを表示します。notepad.exe を興味のあるプロセス名に置き換えてください。

ファイルへの出力

この情報を後で参照したい場合は、出力をテキストファイルにリダイレクトすることができます:

@echo off
tasklist > process_list.txt
echo Process list saved to process_list.txt
pause

これで、process_list.txt というファイルにすべての実行中プロセスが保存されます。

特定のプロセスの終了

時々、プログラムがフリーズしたり、他の理由で停止させたいことがあります。taskkill コマンドが助け舟を出します!

基本的な使用方法

プロセス名でプロセスを終了する方法は以下の通りです:

@echo off
taskkill /im notepad.exe
pause

これはすべてのNotepadインスタンスを閉じます。このパワーには注意してください!

PIDによる終了

より正確な制御のため、PIDでプロセスを終了することができます:

@echo off
tasklist /fi "imagename eq notepad.exe" /fo csv /nh > temp.txt
for /f "delims=," %%a in (temp.txt) do set pid=%%~a
taskkill /pid %pid% /f
del temp.txt
pause

このスクリプトはNotepadのPIDを見つけ、それを終了します。/f フラグはプロセスを強制的に閉じます。

複数のプロセスの終了

すべてのウェブブラウザを閉じたい場合を例にとってみましょう:

@echo off
taskkill /f /im chrome.exe
taskkill /f /im firefox.exe
taskkill /f /im msedge.exe
echo All browsers should be closed now.
pause

新しいプロセスの起動

プロセスを停止するのと同じくらい重要なのは、プロセスを起動することです。バッチでプログラムをどのように起動するかを見てみましょう。

基本的な使用方法

プログラムを起動するには、その名前やパスを使用します:

@echo off
start notepad.exe
echo Notepad should be open now.
pause

引数付きの起動

起動するプログラムに引数を渡すこともできます:

@echo off
start notepad.exe "C:\example.txt"
echo Notepad should be open with example.txt.
pause

最小化または最大化での起動

時々、プログラムの起動方法を制御したいことがあります:

@echo off
start /min notepad.exe
echo Notepad should be open and minimized.
timeout /t 3
start /max calc.exe
echo Calculator should be open and maximized.
pause

/min/max スイッチはウィンドウの状態を制御します。

有用なプロセス管理コマンド

ここで学んだ主要なコマンドをまとめた表を見てみましょう:

コマンド 説明
tasklist 実行中のプロセスをリスト tasklist
taskkill プロセスを終了 taskkill /im notepad.exe
start 新しいプロセスを起動 start notepad.exe

強力なツールを使うには責任が伴います。プロセスを終了する際には、データ損失を防ぐために注意してください。

結論

おめでとうございます!バッチスクリプトのプロセス管理の世界への第一歩を踏み出しました。プロセスの表示、終了、起動について学びました。これらは、将来のWindows管理者やパワーユーザーにとって基本的なスキルです。

これらのコマンドを練習するにつれて、コンピュータをスクリプトで制御することに慣れてきます。まるで秘密のスーパーパワーを持っているみたいです - 数行のコードでPCを管理できるのです!

覚えておいてください、学ぶ最良の方法は実践です。自分でスクリプトを作成し、さまざまなコマンドを試し、間違えても構いません。それが私たちがプログラマーとして成長する方法です。

codingを続け、探求を続け、そして最も重要なのは、楽しみましょう!友達のコンピュータが故障した次回、あなたが新たに得たバッチスクリプトのスキルで救世主になるかもしれません。

ハッピースクリプティング、そしてあなたのプロセスが常にスムーズに進むことを祈っています!

Credits: Image by storyset