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

※この記事は「2021年5月2日」に更新しました。

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

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

実際にどんなことができるのか、SE、Web制作、販売を経験した管理人が解説します。

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(パワーシェル)の入門記事を紹介しました。

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

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