PowerShellとは【コマンドプロンプトとの違い】

※この記事は「2023年3月3日」に更新しました。

今回は、PowerShell(パワーシェル)について。

マイクロソフトが開発したもので、コマンドプロンプトよりも高度なことができます。

実際にどんなことができるのか、解説します。

タカフミ
記事を書いている管理人の経歴は、以下の通りです。
  • 基本情報技術者資格所有者(ソフト開発の国家資格)
  • WordPress歴、10年以上
  • パソコン販売歴、約5年

PowerShell とは

PowerShell入門

PowerShell(パワーシェル)は、マイクロソフトが提供するコマンドラインのシェルです。

タカフミ
コマンドプロンプトに代わる、新しいツールです。

ちなみに私の Windows 10 には、Windows PowerShell 5.0 が標準搭載されています。

Windows のバージョンによって、PowerShell のバージョンが異なるので注意が必要です。

Windows PowerShell について
Windows PowerShell は、Windowsに標準搭載されているものです。後に紹介しますが、マルチプラットフォーム対応の PowerShell もあります。

PowerShell の特徴

PowerShell の特徴は、以下の通りです。

  • 豊富なコマンドレットが使える
  • マルチプラットフォーム対応のシェル
  • オブジェクトをパイプすることができる

順番に解説します。



豊富なコマンドレットが使える

PowerShell は、コマンドレットというコマンドのようなものを使うことができます。

名前には法則があり、動詞-名詞(Verb-Noun)という形式で名前付けされています。

つまり、コマンドレットを見れば、なんとなくどういうことをするものか推測できるようになっているということです。

そして、エイリアスという機能を提供しているので、コマンドプロンプトに慣れてきたユーザーも今までのコマンドを使うことができるようになっています。

例えば、Set-Location という現在の作業場所を指定の場所に設定するコマンドレットがあります。

タカフミ
これは、cd でも同じように動きます。

マルチプラットフォーム対応のシェル

PowerShell は、Windows だけでなく、Mac OS や Linux でも使うことができます。

タカフミ
PowerShell Core 6.0 から本格的にマルチプラットフォームに対応しました。

ちなみに Windows PowerShell とは、少し異なるので、本格的に使いたいという方はインストールしてみても良いかと思います。

個人的には、Windows PowerShell でも十分便利だと思います(デフォルトの実行ポリシーくらいしか不満はありません)。

オブジェクトをパイプすることができる

タカフミ
パイプは、二つのコマンドで実行結果を受け渡す用途で使います。

PowerShell は、オブジェクト指向で配列やオブジェクトを受け渡しすることができます。

今まで数行のコーディングが必要なものが1行で済むということも珍しくありません。

コマンドプロンプトとの違い

コマンドプロンプトは、元々 MS-DOS環境を Windows に疑似的に用意する機能なので、正直、古臭さは否めません。

実際に制御構文が貧弱だったり、ちょっと複雑なことをやろうとすると、特殊な使い方を覚える必要があったりします。

PowerShell は、よりコアな部分も自動化することができます。

タカフミ
例えば、レジストリの値を変更したりすることも可能です。

コマンドプロンプトの記事でも紹介しましたが、コマンドプロンプトには、内部コマンドと外部コマンドがあります。

内部コマンドは、エイリアスによって使うことができます。

外部コマンドは、コマンドプロンプトと同じように使うことができます。

このように聞くと、PowerShell があれば、コマンドプロンプトは必要ないように感じるかもしれません。

ただ、コマンドプロンプトは、軽量なので、場合によっては動作が速かったりします。

タカフミ
無理して PowerShell を使う必要はありません。

最後に

今回は、PowerShell(パワーシェル)の入門記事を紹介しました。

パソコン初心者の方が積極的に使うツールではありませんが、CUI による自動化ツールとしては非常に強力です。

オブジェクト指向の次世代シェルを体験してみましょう。