Windows で作業していると、「PowerShell で次のコマンドを実行してください」と案内されることがあります。でも、コマンドの名前が長くて覚えにくい、コマンドプロンプトと何が違うのか分からない、と感じている人も多いのではないでしょうか。
この記事では、PowerShell でよく使うコマンドを目的別に一覧にしました。名前の決まりを知っておくと、ぐっと覚えやすくなります。
PowerShell とは
PowerShell は、Microsoft が提供する、コマンドで Windows などを操作・自動化するためのツールです。 Microsoft のドキュメントでは、「コマンドライン シェル、スクリプト言語、および構成管理フレームワークで構成されるクロスプラットフォーム タスク自動化ソリューション」と説明されていて、Windows、Linux、macOS で動きます。

Windows には「Windows PowerShell」が最初から入っています。新しい「PowerShell 7」は別にインストールして使うもので、基本のコマンドはどちらでも同じように使えます。
起動のしかた
スタートメニューで「PowerShell」と検索して開きます。 Windows 11 では、Windows ターミナルの中で PowerShell を開くこともできます。管理者の権限が必要なときは、検索結果を右クリックして「管理者として実行」を選びます。
コマンドプロンプトとの違い
一番の違いは、コマンドの結果を「文字」ではなく「オブジェクト(データのまとまり)」として受け渡すことです。 そのため、結果を並べ替えたり、条件で絞り込んだりする処理を、コマンドの組み合わせで簡単に書けます。
また、PowerShell では cd、dir、ls などのおなじみの名前も「エイリアス(別名)」として使えるので、コマンドプロンプトや Mac のターミナルに慣れている人でも、すぐに操作できます(この記事の別名は Windows で使う場合のものです。Mac や Linux の PowerShell 7 では、ls などはその OS のコマンドが動きます)。コマンドプロンプトのコマンドはコマンドプロンプトのコマンド一覧で紹介しています。
コマンドの名前の決まり:「動詞-名詞」
PowerShell のコマンド(コマンドレット)は、「動詞-名詞」の形で名前がつけられています。 たとえば Get-ChildItem は「子の項目を取得する」、Remove-Item は「項目を削除する」という意味です。

よく使われる動詞を覚えておくと、知らないコマンドでも意味の見当がつきます。
| 動詞 | 意味 | 例 |
|---|---|---|
| Get | 取得する・表示する | Get-Process |
| Set | 設定する・変更する | Set-Location |
| New | 新しく作る | New-Item |
| Remove | 削除する | Remove-Item |
| Copy / Move | コピーする/移動する | Copy-Item |
| Start / Stop | 開始する/停止する | Stop-Process |
| Test | 確かめる | Test-Connection |
コマンドの名前は大文字と小文字を区別しないので、get-childitem と入力しても動きます。名前の途中まで入力して Tab キーを押すと、残りを補ってくれます。
ヘルプとコマンドの探し方
まず覚えておきたいのが、コマンドを調べるためのコマンドです。
| コマンド | できること | 例 |
|---|---|---|
Get-Help |
コマンドの使い方を表示する | Get-Help Copy-Item -Examples |
Get-Command |
使えるコマンドを探す | Get-Command *Item* |
Get-Alias |
エイリアス(別名)の一覧を表示する | Get-Alias ls |
Clear-Host(cls) |
画面の表示を消す | cls |
Get-Help に -Examples をつけると、使い方の例を表示してくれます。
フォルダの移動と表示
| コマンド | 別名 | できること | 例 |
|---|---|---|---|
Get-Location |
pwd |
今いるフォルダを表示する | pwd |
Set-Location |
cd |
別のフォルダに移動する | cd C:\work |
Get-ChildItem |
ls、dir |
フォルダの中身を一覧表示する | ls |
Get-ChildItem -Recurse |
下の階層まで含めて一覧表示する | ls -Recurse *.pdf |
ファイルとフォルダの操作
| コマンド | 別名 | できること | 例 |
|---|---|---|---|
New-Item |
ファイルやフォルダを作る | New-Item -ItemType Directory backup |
|
Copy-Item |
cp、copy |
コピーする | Copy-Item a.txt b.txt |
Move-Item |
mv、move |
移動する | Move-Item a.txt backup\ |
Rename-Item |
ren |
名前を変える | Rename-Item a.txt b.txt |
Remove-Item |
rm、del |
削除する | Remove-Item old.txt |
Remove-Item で削除したものは、ごみ箱に入らずにすぐ消えます。 フォルダの中身ごと消す -Recurse をつけるときは特に、場所が正しいかを確かめてから実行してください。実行する前に -WhatIf をつけると、「何が起きるか」だけを表示して、実際には実行しません。
ファイルの中身を扱う
| コマンド | 別名 | できること | 例 |
|---|---|---|---|
Get-Content |
cat、type |
ファイルの中身を表示する | Get-Content memo.txt |
Get-Content -Tail |
ファイルの最後の数行を表示する | Get-Content log.txt -Tail 20 |
|
Set-Content |
ファイルに書き込む(上書き) | Set-Content memo.txt "こんにちは" |
|
Add-Content |
ファイルの末尾に追記する | Add-Content memo.txt "追記" |
|
Select-String |
ファイルの中から文字を探す | Select-String "error" log.txt |
パイプで組み合わせる
|(パイプ)を使うと、前のコマンドの結果を、次のコマンドに渡せます。 PowerShell では、結果がデータのまとまりとして渡されるので、並べ替えや絞り込みが簡単です。
| コマンド | 別名 | できること |
|---|---|---|
Where-Object |
where、? |
条件に合うものだけを残す |
Sort-Object |
sort |
並べ替える |
Select-Object |
select |
必要な項目や件数だけを取り出す |
Measure-Object |
数や合計を数える | |
Export-Csv |
結果を CSV ファイルに書き出す |
たとえば、メモリを多く使っているプログラムの上位5つを表示するには、次のように書きます。
Get-Process | Sort-Object WorkingSet -Descending | Select-Object -First 5
プロセスとサービス
| コマンド | できること | 例 |
|---|---|---|
Get-Process |
動いているプログラムの一覧を表示する | Get-Process |
Stop-Process |
プログラムを終了させる | Stop-Process -Name notepad |
Get-Service |
サービスの一覧と状態を表示する | Get-Service |
Start-Process |
プログラムやファイル、URL を開く | Start-Process https://example.com |
ネットワークとシステム
| コマンド | できること | 例 |
|---|---|---|
Test-Connection |
相手と通信できるかを確かめる(ping と同じような確認) | Test-Connection example.com |
Test-NetConnection |
通信やポートの状態を確かめる(Windows) | Test-NetConnection example.com -Port 443 |
Invoke-WebRequest |
URL にアクセスして結果を取得する | Invoke-WebRequest https://example.com |
Get-ComputerInfo |
パソコンの情報を表示する(Windows) | Get-ComputerInfo |
$PSVersionTable |
PowerShell のバージョンを表示する | $PSVersionTable |
スクリプトを実行できないとき
自分で作ったスクリプト(.ps1 ファイル)を実行しようとして、「このシステムではスクリプトの実行が無効になっている」と表示されることがあります。 これは、意図しないスクリプトが実行されないようにする「実行ポリシー」という仕組みによるものです。
今の設定は Get-ExecutionPolicy で確認できます。設定を変える Set-ExecutionPolicy は、パソコンの安全に関わるので、変更する内容と影響を Microsoft のドキュメントで確かめてから行いましょう。
コマンドを使うときの注意点
- 意味の分からないコマンドは実行しない:ネットで見つけたコマンド、特に管理者として実行するものは、何をするかを
Get-Helpで確かめてから使う - 削除や変更の前に
-WhatIfで確かめる:多くのコマンドで、実行せずに結果だけを確認できる - 管理者として開くのは必要なときだけ
コマンドを指で覚えるなら
よく使うコマンドは、毎回調べるより、指が覚えている状態にしておくと作業が速くなります。 ターミナルのコマンドや Git、ショートカットキーを、ゲーム感覚で繰り返し練習できるサイトもあります。
Mac や Linux のターミナルのコマンドはターミナルの基本コマンド一覧、Git のコマンドはよく使う Git コマンド一覧で紹介しています。
まとめ
- PowerShell のコマンドは「動詞-名詞」の形。Get(取得)、Set(設定)、New(作成)、Remove(削除)などの動詞を覚えると意味が分かる
cd、ls、catなどの別名(エイリアス)も使える- 困ったら
Get-HelpとGet-Commandで調べる |(パイプ)で、並べ替えや絞り込みを組み合わせられる- 削除や変更の前には
-WhatIfで、何が起きるかを確かめる
まずは ls と cd でフォルダを見て回り、慣れてきたら Get-Help で気になるコマンドを調べてみてください。