Windows 11を学ぼう⑱ コマンドプロンプトとPowerShell活用術の完全ガイドを徹底解説

Windows

Table of Contents

はじめに

Windows 11の操作はグラフィカルインターフェース(GUI)だけでなく、コマンドプロンプト(cmd)や\PowerShell」を使うことで、より高度な自動化・高速なシステム管理・トラブル対応が実現できます。

GUIで何十クリックもかかる作業を、コマンド一行で完了できるのは大きなメリットです。また、バックアップ・テスト・ビルドなどのバッチ処理や、GUIでは操作できない高度な設定もコマンドで実現できます。

この記事では、コマンドプロンプトとPowerShellの基礎から実践的な活用術まで、丁寧に解説します。

1. コマンドプロンプト(cmd)の基礎

コマンドプロンプトとは

コマンドプロンプト(cmd.exe)は、MS-DOS時代から引き継がれたテキストベースのコマンドラインインターフェースです。シンプルな構文で、ファイル操作・ネットワーク診断・バッチ処理など日常的なタスクに対応しています。

起動方法

  • 普通起動:スタートメニューに「cmd」と入力 → Enter
  • 管理者として起動:「cmd」を検索し、右クリック → 「管理者として実行」(システム変更に必要)
  • Win + R:「ファイル名を指定して実行」ダイアログで cmd と入力してEnter
  • ターミナルから:Windowsターミナルを起動し、ドロップダウンで Command Prompt を選択

基本的な画面構成

  • プロンプト表示C:\Users\ユーザー名> の形式で、現在のディレクトリとユーザー名が表示される
  • 管理者起動時:タイトルバーに「管理者: コマンド プロンプト」と表示される
  • カーソル:点滅するカーソルが入力位置を示す

コマンドプロンプトの便利な機能

  • タブ補完:Tabキーでファイル名・フォルダ名を自動補完
  • コマンド履歴:矢印(↑↓)キーで過去のコマンドを呼び出すことができる
  • F7キー:コマンド履歴をグラフィカルに表示
  • Ctrl + C:実行中のコマンドを強制終了
  • 右クリック → 贼り付け:クリップボードの内容を迫り付け(Ctrl + V でも可)

2. コマンドプロンプトの主要コマンド

ファイル・ディレクトリ操作

dir:現在のディレクトリ内のファイル・フォルダの一覧を表示するコマンド

dir /a /s:隠しファイルを含むすべてのファイルをサブディレクトリまで再帰的に表示するコマンド

cd フォルダ名:指定のディレクトリに移動するコマンド。cd .. で一つ上の階層へ戻る

md フォルダ名:新しいフォルダを作成するコマンド

rd フォルダ名 /s /q:指定フォルダを中身ごと強制削除するコマンド

copy コピー元 コピー先:ファイルをコピーするコマンド

move 移動元 移動先:ファイルを移動または名前変更するコマンド

del ファイル名:指定のファイルを削除するコマンド(ゴミ箱には行かず直接削除)

xcopy コピー元 コピー先 /s /e /h /i:サブディレクトリや隠しファイルも含めて再帰的にコピーするコマンド

robocopy コピー元 コピー先 /mir /z:高機能なファイル同期コマンド。/mirでミラーリング、/zで再開可能モードでビックアップに最適

テキスト・出力操作

type ファイル名:テキストファイルの内容を表示するコマンド

echo メッセージ:指定の文字列を表示するコマンド。echo 内容 > ファイル名 でファイルに書き出しが可能

find “文字列” ファイル名:ファイル内の文字列を検索するコマンド

more ファイル名:内容をページ単位で表示するコマンド。長いファイルの閲覧に便利

sort ファイル名:ファイル内の行をアルファベット順にソートして表示するコマンド

パイプ・リダイレクト

コマンドの出力を別のコマンドに渡したり、ファイルに保存したりできます。

  • |(パイプ):左のコマンドの出力を右のコマンドの入力に渡す。例:dir | find ".txt"
  • >(リダイレクト):出力をファイルに書き出す(上書き)。例:dir > list.txt
  • >>(追記):出力をファイルに追記する(上書きしない)。例:echo ログ >> log.txt

ネットワークコマンド

ipconfig /all:IPアドレス・サブネットマスク・Macアドレスなどネットワーク詳細を表示するコマンド

ipconfig /release:IPアドレスを解放するコマンド

ipconfig /renew:IPアドレスを更新(再取得)するコマンド

ipconfig /flushdns:DNSキャッシュをクリアするコマンド。ネットワーク接続のトラブル解決に有効

ping ホスト名:指定のホストにパケットを送り、応答時間を計測するコマンド

tracert ホスト名:指定ホストまでのネットワーク経路を追跡するコマンド

netstat -an:現在のネットワーク接続とリッスニングポートの一覧を表示するコマンド

nslookup ドメイン名:DNSサーバーに問い合わせてドメインのIPアドレスを調べるコマンド

netsh wlan show profiles:接続したWi-Fiのプロファイル一覧を表示するコマンド

netsh wlan show profile name=”SSID” key=clear:保存済みWi-Fiのパスワードを表示するコマンド

システム関連コマンド

systeminfo:Windowsのバージョン・CPU・メモリなどシステム情報を表示するコマンド

tasklist:現在起動中のプロセスの一覧を表示するコマンド

taskkill /im プロセス名.exe /f:指定のプロセスを強制終了するコマンド

chkdsk C: /f /r:Cドライブのエラー検査と修復を行うコマンド(次起動時に実行)

sfc /scannow:Windowsシステムファイルの整合性検査と修復を行うコマンド

shutdown /s /t 0:PCを即座にシャットダウンするコマンド

shutdown /r /t 0:PCを即座に再起動するコマンド

3. PowerShellの基礎

PowerShellとは

PowerShellは、Microsoftが開発した高機能なシェルです。.NETフレームワークを基盤としており、コマンドプロンプトの上位互換機能を持ちながら、オブジェクトベースの出力や、複雑な自動化スクリプトの作成ができます。

PowerShellの主な特徴は次のとおりです。

  • コマンドレットがテキストでなくオブジェクト(構造化データ)を返すため、後続処理が容易
  • Windowsのほぼすべての設定をコマンドで操作できる
  • ループ・条件分岐・関数などプログラミング構文が利用可能
  • PowerShellインストールアップデート・データ取得など広範囲のモジュールが利用可能
  • Windows 7以降に標準搭載されている(PowerShell 5.1)。Windows 11は最新バージョンの導入を推奨

PowerShellの起動方法

  • スタートメニュー:「powershell」と入力して起動(Windows PowerShell 5.1)
  • PowerShell 7以降:「pwsh」と入力(別途インストールが必要)
  • 管理者として起動:検索結果を右クリック→「管理者として実行」
  • Windows Terminal:Windowsターミナル(標準搭載)から起動するのが最も便利

コマンドレットの構成(動詞-名詞型)

PowerShellのコマンド(コマンドレット)は必ず「動詞-名詞」の形式で命名されています。

  • 動詞:Get(取得)・Set(設定)・New(作成)・Remove(削除)・Start(開始)・Stop(停止)・Restart(再起動)など
  • 名詞:Process(プロセス)・Service(サービス)・Item(アイテム)・ChildItem(子アイテム)など
  • 例:Get-ProcessSet-ServiceNew-ItemRemove-Itemなど

エイリアス(略記)

PowerShellにはcmdのコマンドを許容するエイリアスが定義されているため、多くのコマンドプロンプトのコマンドもそのまま実行できます。

  • lsdirGet-ChildItem のエイリアス
  • cdSet-Location のエイリアス
  • copyCopy-Item のエイリアス
  • delrmRemove-Item のエイリアス

4. PowerShellの主要コマンドレット

ファイル・フォルダ操作

Get-ChildItem パス:指定パスのファイル・フォルダ一覧を取得するコマンドレット

Get-ChildItem -Recurse -Filter “*.log”:logファイルをサブディレクトリまで再帰検索するコマンドレット

New-Item -ItemType File -Path “C:\test.txt”:新しいファイルを作成するコマンドレット。-ItemType Directory でフォルダ作成も可能

Copy-Item コピー元 コピー先 -Recurse:ファイルまたはフォルダをコピーするコマンドレット

Move-Item 移動元 移動先:ファイルまたはフォルダを移動するコマンドレット

Remove-Item ファイル名 -Force -Recurse:ファイルまたはフォルダを強制削除するコマンドレット

Get-Content ファイル名:ファイルの内容を読み込んで表示するコマンドレット

Set-Content ファイル名 “内容”:ファイルに内容を書き込む(上書き)コマンドレット

Add-Content ファイル名 “内容”:ファイルに内容を追記するコマンドレット

プロセス・サービス管理

Get-Process:現在実行中のプロセス一覧を表示するコマンドレット

Get-Process | Sort-Object CPU -Descending | Select-Object -First 10:CPU使用率が高いプロセス上位10件を表示するコマンドレット

Stop-Process -Name “プロセス名” -Force:指定名のプロセスを強制終了するコマンドレット

Get-Service:Windowsサービスの一覧と状態を表示するコマンドレット

Start-Service -Name “サービス名”:サービスを起動するコマンドレット

Stop-Service -Name “サービス名”:サービスを停止するコマンドレット

Restart-Service -Name “サービス名”:サービスを再起動するコマンドレット

システム・ハードウェア情報

Get-ComputerInfo:システムの詳細情報を表示するコマンドレット

Get-WmiObject Win32_Processor:CPUの詳細情報を表示するコマンドレット

Get-WmiObject Win32_PhysicalMemory | Measure-Object Capacity -Sum:実装メモリの合計容量を表示するコマンドレット

Get-Disk:接続されているディスクの一覧と状態を表示するコマンドレット

Get-Volume:ドライブのボリューム情報を表示するコマンドレット

ネットワークコマンドレット

Get-NetIPAddress:IPアドレスの一覧を表示するコマンドレット

Get-NetAdapter:ネットワークアダプターの一覧と状態を表示するコマンドレット

Test-NetConnection -ComputerName google.com -Port 443:指定ホストの指定ポートへの接続をテストするコマンドレット

Resolve-DnsName google.com:ドメイン名をDNSで解決するコマンドレット

5. PowerShellスクリプトの作成と実行

スクリプトファイル(.ps1)

PowerShellのスクリプトは拡張子 .ps1 のテキストファイルです。メモ帳やVS Codeなどエディターで作成します。

PowerShellスクリプトの基本要素は次のとおりです。

  • 変数$変数名 = 値 の形式で定義する。例:$name = "Taro"
  • if条件分岐if (条件) { 処理 } elseif (条件) { 処理 } else { 処理 }
  • foreachループforeach ($item in $list) { 処理 }
  • forループfor ($i = 0; $i -lt 10; $i++) { 処理 }
  • 関数定義function 関数名 { 処理 }
  • コメント# で始まる行はコメントとして無視される

スクリプトの実行ポリシー

PowerShellはセキュリティのため、デフォルトでは外部スクリプトの実行が制限されています。

Get-ExecutionPolicy:現在の実行ポリシーを表示するコマンドレット

Set-ExecutionPolicy RemoteSigned -Scope CurrentUser:スクリプト実行ポリシーを変更するコマンドレット。RemoteSignedはダウンロードしたスクリプトは署名を要求する設定

主な実行ポリシーの種類は次のとおりです。

  • Restricted:スクリプト実行不可(デフォルト)
  • RemoteSigned:ダウンロードスクリプトは署名必要。ローカルスクリプトは実行可(推奨)
  • Unrestricted:すべてのスクリプトを無劶件実行可(非推奨)
  • Bypass:すべてをブロックなしに実行(自動化スクリプト用)

パイプライン・フィルタリング

PowerShellのパイプ(|)はオブジェクトを渡すため、高度な処理が可能です。

Get-Process | Where-Object { $_.CPU -gt 10 }:CPU使用率が10以上のプロセスを表示するコマンドレット

Get-Service | Where-Object { $_.Status -eq “Stopped” }:停止中のサービスを表示するコマンドレット

Get-ChildItem C:\ -Recurse | Where-Object { $_.Length -gt 1GB }:1GB以上のファイルを検索するコマンドレット

Get-ChildItem -Recurse | Select-Object Name, Length | Sort-Object Length -Descending | Select-Object -First 20:Subfolderからサイズが大きいファイル上位20件を表示するコマンドレット

6. 実践的な自動化スクリプト例

バッチファイル(.bat)による定期バックアップ

毎日自動でファイルをバックアップするバッチファイルの例です。

  • @echo off:コマンドを画面に表示しない設定
  • set DATE_STR=%date:~0,4%%date:~5,2%%date:~8,2%:日付文字列を変数に格納
  • robocopy C:\Users\%USERNAME%\Documents D:\Backup\%DATE_STR% /mir /z /log:D:\backup_log.txt:ドキュメントを外付けHDDにミラーリングバックアップ
  • この.batファイルをタスクスケジューラーに登録することで毎日自動実行が可能

PowerShellによる古いファイルの自動削除

30日以上前のログファイルを自動削除するPowerShellスクリプトの例です。

  • $logPath = "C:\Logs":ログフォルダを指定
  • $days = 30:保存有効期間を2行に設定
  • $cutoff = (Get-Date).AddDays(-$days):削除基準日を計算
  • Get-ChildItem $logPath -Recurse | Where-Object { $_.LastWriteTime -lt $cutoff } | Remove-Item -Force:30日以前のファイルを再帰検索して削除

PowerShellによるWindows更新の自動化

Install-Module PSWindowsUpdate -Force:Windows UpdateをPowerShellから操作するモジュールをインストールするコマンドレット

Get-WindowsUpdate:利用可能な更新の一覧を表示するコマンドレット

Install-WindowsUpdate -AcceptAll -AutoReboot:すべての更新を自動インストールして再起動するコマンドレット

7. Windowsターミナルの活用

Windowsターミナルとは

Windows Terminalは、Windows 11に標準搭載されたモダンなターミナルアプリケーションです。コマンドプロンプト・PowerShell・WSL(Ubuntuなど)の各シェルをタブ切り替えで利用できます。

Windows Terminalの主な機能は次のとおりです。

  • 複数のシェルをタブで切り替えて利用
  • パネルを分割して複数のシェルを並列表示
  • フォント・カラースキーム・透明度などの外観カスタマイズ
  • GPUアクセラレーションによる高品質なテキストレンダリング
  • Unicode・Utf-8の正しい表示

便利なキーボードショートカット

  • Ctrl + Shift + T:新しいタブを開く
  • Ctrl + Shift + N:新しいウィンドウを開く
  • Alt + Shift + D / A / S:パネルを垂直/水平分割する
  • Ctrl + Tab:タブ間を切り替える
  • Ctrl + Shift + 「1」~:特定のプロファイル(シェル)を直接起動する

プロファイルのカスタマイズ

Windows Terminalの設定(settings.json)で詳細なカスタマイズが可能です。主な設定項目は次のとおりです。

  • defaultProfile:起動時のデフォルトシェルを指定
  • colorScheme:カラースキームを選択(One Half Dark・Campbellなど)
  • fontFace / fontSize:フォントとサイズを指定(「Cascadia Code」が推奨)
  • opacity:ウィンドウの透明度を指定(0〜100)
  • backgroundImage:背景画像を設定する

8. トラブルシューティング

コマンドプロンプトで「コマンドが見つかりません」と表示される場合

  • スペルミスがないか確認する
  • where コマンド名 でコマンドがインストールされているか確認する
  • PATH環境変数にコマンドのディレクトリが含まれているか確認する

PowerShellで「このシステムでスクリプトの実行が無効になっています」と表示される場合

  • Get-ExecutionPolicy で現在のポリシーを確認する
  • Set-ExecutionPolicy RemoteSigned -Scope CurrentUser を実行して実行ポリシーを変更する
  • コーポレート環境ではグループポリシーで芸往が制限されている場合があるため、システム管理者に確認する

PowerShellスクリプトが途中でエラーになる場合

  • -ErrorAction SilentlyContinue をコマンドに追加するとエラーを無視して続行する(非推奨)
  • -ErrorAction Stop を追加するとエラー発生時に例外を発生させ、Try-Catchでうまくハンドリングできる
  • Write-ErrorWrite-Warning でエラーメッセージを出力する

管理者権限が必要なコマンドが失敗する場合

  • PowerShellまたはコマンドプロンプトを必ず「管理者として実行」で起動する
  • UAC(ユーザーアカウント制御)の確認ダイアログで「はい」を選択する

まとめ

コマンドプロンプトとPowerShellは、Windows 11をより深く、より効率的に活用するための強力なツールです。

  • コマンドプロンプト:MS-DOS時代からのシンプルなコマンド現場。ファイル操作・ネットワーク診断・システム操作に強力
  • PowerShell:.NETベースのモダンシェル。自動化・高度なシステム管理・スクリプト作成に最適
  • Windows Terminal:両方をスマートに使いこなせるモダンなターミナル環境

まずは基本コマンドを使いながら慢々に慢慣れ、やがてPowerShellスクリプトによる自動化を実現していきましょう。コマンドを活用することで、Windows 11の潜在能力を完全に引き出すことができます。

次回は、Windows 11のストレージ空き容量最大化とディスククリーンアップ完全ガイドについて詳しく解説します。

Copied title and URL