0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

💻 コマンドプロンプトとPowerShellの違いをわかりやすく解説

Posted at

Windowsには「コマンドプロンプト」と「PowerShell」という2つの黒い画面があります。
見た目は似ていますが、できることも仕組みも実は全然違うんです!


🪟 はじめに

「コマンドプロンプト(cmd)」と「PowerShell(PS)」、どちらもWindowsで操作や設定を行うための“コマンドラインツール”です。
しかし、中身の仕組み・使えるコマンド・得意分野が異なります。

比較項目 コマンドプロンプト(cmd) PowerShell(PS)
登場時期 Windows NT時代(1990年代) Windows XP時代(2006年)
言語ベース MS-DOS .NET Framework
主な用途 基本的なファイル操作・バッチ処理 システム管理・自動化スクリプト・API連携
拡張子 .bat .ps1
コマンド例 dir, copy, ipconfig Get-ChildItem, Copy-Item, Get-NetIPConfiguration
出力形式 文字列(テキスト) オブジェクト(構造化データ)
機能拡張性 ほぼなし 非常に高い(モジュール追加可)

🧠 ざっくりイメージ

  • コマンドプロンプト:
    👉「古いけど軽くて単純な道具箱」
    例:コピーや削除などの簡単な操作がすぐできる。

  • PowerShell:
    👉「高性能な管理ツール」
    例:ネットワーク設定、ユーザー管理、ログ取得などをスクリプトで自動化できる。


🧩 実際のコマンド比較

操作したいこと コマンドプロンプト PowerShell
ファイル一覧を表示 dir Get-ChildItem または ls
IPアドレス確認 ipconfig Get-NetIPConfiguration
コピー copy test.txt D:\ Copy-Item test.txt D:\
現在のフォルダ表示 cd Get-Location

💡 PowerShellではUNIX風のlscdなども動くため、MacやLinuxを触ったことがある人にも馴染みやすいです。


⚙️ 出力の違い

コマンドプロンプトの出力(文字列)

C:\> ipconfig
IPv4 アドレス . . . . . . . . . . . : 192.168.0.5

PowerShellの出力(オブジェクト)

PS C:\> Get-NetIPConfiguration | Select-Object -Property IPv4Address

IPv4Address
-----------
192.168.0.5

PowerShellでは出力結果を**構造化データ(オブジェクト)**として扱えるため、
プログラム的な処理(フィルタ・抽出・CSV出力など)が簡単に行えます。


🧰 実務での使い分け

シーン おすすめツール 理由
一時的なファイル操作 コマンドプロンプト 起動が速く、慣れたコマンドが使える
システム管理・自動化 PowerShell 設定変更やログ収集をスクリプト化できる
ネットワーク診断 両方OK ping, tracert, netstat など共通コマンド多数

💬 よくある質問(FAQ)

Q. cmdとPS、どちらを使えばいいの?
→ ちょっとした操作だけならcmd
管理や自動化をしたいならPowerShellがおすすめです。

Q. 同じコマンドでも動作が違うことがある?
→ あります。例えばdirコマンドはPowerShellでも動きますが、内部的にはGet-ChildItemとして処理されます。

Q. 管理者として実行しないと動かないのはなぜ?
→ システム設定に関わる操作(例:サービス起動、レジストリ変更)は管理者権限が必要だからです。


🧩 図解イメージ(スライド向け)

+------------------------------------+
| コマンドプロンプト (cmd.exe)      |
| → DOS互換                         |
| → テキストベース                  |
+------------------------------------+
             ↓ 進化
+------------------------------------+
| PowerShell (powershell.exe)        |
| → .NETベース                       |
| → オブジェクト指向・自動化可能     |
+------------------------------------+

🏁 まとめ

  • cmd は「昔ながらの手動ツール」
  • PowerShell は「現代的な自動化ツール」
  • どちらも目的に応じて使い分けるのが◎

📚 参考リンク


0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?