パイプとフィルタ
コマンドプロンプトでは、あるコマンドの出力結果を別のコマンドの入力として渡すことができます。この仕組みをパイプと呼びます。
パイプを活用すると、大量の出力結果からフィルタリング・並べ替え・ページング表示などの加工を簡単に行えるようになります。
パイプの基本
パイプは |(縦棒)で表します。
コマンド1 | コマンド2
コマンド1 の標準出力が、コマンド2 の標準入力として渡されます。
基本的な使用例
tasklist | findstr "notepad"
tasklist の出力がそのまま findstr に渡され、「notepad」を含む行だけが表示されます。
よく使うフィルタコマンド
パイプと組み合わせて使用されるコマンドはフィルタコマンドと呼ばれます。
| コマンド | 説明 |
|---|---|
find | 指定した文字列を含む行を抽出 |
findstr | 正規表現による高度な文字列検索 |
sort | テキストを昇順・降順に並べ替え |
more | 出力を 1 画面ずつ表示 |
find でフィルタリング
dir | find "txt"

中小企業経営者のためのRPA入門 RPA導入を成功させる方法

60分でわかる! AIエージェント 超 入門

コマンドラインの黒い画面が怖いんです。

知識・才能ゼロでもらく~に月10万円稼ぐ! よくわかるAI副業超入門
行数をカウントする
find /C を使うと、一致する行の数をカウントできます。
dir /b *.txt | find /C /V ""
find /C /V ""
は空行以外のすべての行をカウントするテクニックです。パイプで渡された出力の行数を数えるのに便利です。
findstr でフィルタリング
findstr を使うと、正規表現や複数条件でのフィルタリングが可能です。
netstat -an | findstr "ESTABLISHED LISTENING"
tasklist | findstr /V "svchost"
/V オプションで「svchost」を含まない行だけを表示できます。
sort で並べ替え
sort コマンドで出力結果を昇順・降順に並べ替えられます。
dir /b | sort
dir /b | sort /R
| オプション | 説明 |
|---|---|
/R | 降順(逆順)で並べ替え |
/+n | n 列目を基準に並べ替え |
環境変数 PATH を見やすく表示
echo %PATH:;=^&echo.% | sort
more でページング表示
出力が画面に収まらないほど多い場合、more でページ単位で表示できます。
dir /s | more
type longfile.txt | more
スペースキーで次のページに進み、Q で表示を終了します。
パイプを連結する
パイプは複数回連結して使用できます。
tasklist | findstr /I "chrome" | sort | more
上記は以下の処理を順番に行います。
tasklistでプロセス一覧を取得findstrで「chrome」を含む行を抽出sortで結果を並べ替えmoreで 1 画面ずつ表示
実践例
実行中のプロセス数をカウント
tasklist | find /C /V ""
特定のポートを使用しているプロセスを特定
netstat -ano | findstr ":8080"
最後の列(12345)がプロセス ID です。tasklist /FI "PID eq 12345" で詳細を確認できます。
ディレクトリのサイズを確認
dir /s /-c | findstr "個のファイル"
テキストファイルの内容をフィルタしてファイルに保存
パイプとリダイレクトを組み合わせることもできます。
tasklist | findstr "chrome" > chrome_processes.txt
パイプ | はコマンドの出力を「別のコマンドの入力」に渡します。リダイレクト > はコマンドの出力を「ファイル」に保存します。両方を組み合わせることで、フィルタ結果をファイルに出力できます。
まとめ
| 操作 | 例 |
|---|---|
| 文字列で絞り込む | コマンド | find "文字列" |
| 正規表現で絞り込む | コマンド | findstr "パターン" |
| 並べ替える | コマンド | sort |
| ページ表示 | コマンド | more |
| 行数をカウント | コマンド | find /C /V "" |
| 複数フィルタを連結 | コマンド | findstr "A" | sort |