PowerShellを使うと、何ができるんだろう…
具体的にできることや使用するメリットを知りたい…
コマンドプロンプトを使ったことがあっても、PowerShellを使ったことがない人もいるのではないでしょうか。より便利なのはなんとなくわかるけど、具体的に何ができるのかよくわからない……と思っている人は多いです。
こんにちは! フリーランスエンジニア兼テックライターのワキザカです。
この記事では、PowerShellでできることやおすすめ理由について解説します。PowerShellの始め方も解説しているので、ぜひ参考にしてみてくださいね。
PowerShellでできることとは?
まず、PowerShellでできることについて解説します。
PowerShellとは?
PowerShellとはWindows管理用のCLIツールです。
CLIとは、すべての操作をキーボードだけで操作する方法です。マウス操作がないので慣れるまで大変かもしれませんが、慣れるとマウス操作の非ではないほど、高速に作業ができます。
ショートカットキーで操作を効率化できるように、操作全てを効率化できるのです。
コマンドプロンプトとの違い
「でも、Windowsには既にコマンドプロンプトがあるよね? PowerShellとの違いはなんだろう…」と思う方もいるかもしれませんね。
コマンドプロンプトと、PowerShellの違いは以下のとおりです。
コマンドプロンプト | PowerShell | |
---|---|---|
使いやすさ | システムに対しコマンドを送る ※全部自分で書く | コマンドレットを使って指示を送る ※既にある処理はコマンドレットを使うだけ |
起動の速さ | 速い | 普通 |
開発環境の有無 | 無 | 有 |
コマンドプロンプトの後継として生まれたのが、PowerShellです。そのため、コマンドプロンプトでできることは、PowerShellでも出来ます。
また、PowerShellは複雑な処理も作りやすいよう、開発環境がついています。
ただ、複雑な処理を作れる分起動がコマンドプロンプトよりも遅いです。そのため、pingテストやIPアドレスを確認するような、ちょっとした確認はコマンドプロンプトのほうが早いです。
PowerShellがおすすめな理由
次に、PowerShellがおすすめな理由について解説します。おすすめ理由は、大きく分けて以下の3つです。
- おすすめ理由1:環境構築不要で使える
- おすすめ理由2:Windowsが操作しやすい「コマンドレット」がある
- おすすめ理由3:ちょっとした自動化処理がすぐに作れる
それぞれ詳しく解説しますね。
①環境構築不要で使える
1つ目は、「環境構築不要で使える」です。
Windows7以降のWindowsパソコンであれば、最初からPowerShellが使えます。そのうえRPAのようなWindows操作の自動化処理を、自分で作れるようになります。
また、複雑な処理でも作りやすいよう、以下のような統合開発環境「Windows PowerShell ISE」も用意されています。
コマンドプロンプトはコードを書いてEnterキーを押すと実行してしまいますが、PowerShellでは「デバッグ」して処理途中で止めながらスクリプトが作れます。
開発効率がグッと高まるので、おすすめです。
②Windowsが操作しやすい「コマンドレット」がある
2つ目は、「コマンドレットがあること」です。コマンドレットとは、Windowsの操作をまとめた指示文のことです。
「コマンドプロンプトでもcdコマンドでフォルダ移動、lsコマンドでディレクトリやファイルの情報を表示できていたし、変わらないんじゃ…」と思った方もいるかもしれません。
ただ、PowerShellのコマンドレットは、コマンドプロンプトに比べて可読性が高いメリットがあります。
たとえば、フォルダ移動 + フォルダ内のテキストファイル(拡張子がtxt)一覧を確認する場合は、以下のようなコマンドの違いがあります。
コマンドプロンプトの場合:
cd C:UsersSiroDesktopコマンドレットテスト dir *.txt /b
PowerShellの場合:
Set-Location C:UsersSiroDesktopコマンドレットテスト Get-ChildItem -Name "*.txt"
コマンドプロンプトの場合は、「dirコマンドを使って取得できること」を知らないと使えないですよね。
対してPowerShellは、「Get-ChildItem -Name “*.txt”」を読むだけで、以下のように処理がイメージできます。
- Get-ChildItem:アイテム(ChildItem)を取得(Get)
- -Name “*.txt”:ファイル名(Name)に「.txt」が含まれるファイル
このように、何をしているコードなのか読みやすいのが、最大の特徴です。書きやすく、読みやすいのでサクサク処理を書けるのです。
③ちょっとした自動化処理がすぐに作れる
PowerShellを使えば、Office365を操作することもできます。以下のような処理を、作れるようになるのです。
PowerShellで作れるツールの例
- PowerPointのスライドを全て画像化
- スクショした画像をExcelに自動貼り付け
- 大量のアドレス宛てにメール自動送信
開発環境も無料なので、書き方を学べばすぐに作れるので魅力的ですね。
PowerShellの始め方【画像付き】
ここからは、以下の流れでPowerShellの始め方について解説します。
- PowerShellの起動方法
- サンプルコードの書き方
それぞれ詳しく解説しますね。
PowerShellの起動方法
まず、PowerShellを起動します。起動手順は、以下のとおりです。
1. Windowsボタンをクリック
2. PowerShellを入力し、表示されたPower Shellアプリをクリック
以下のような画面が表示されていれば、OKです。
サンプルコードの書き方
初めて利用する方向けに、「Excelを起動して、セルに値を書き込む方法」を解説するサンプルを用意しました。
- サンプルコードの書き方1:Excelの起動
- サンプルコードの書き方2:ブックの起動
- サンプルコードの書き方3:セルに値書き込み
ひとつずつ詳しく解説しますね。
サンプルコードの書き方1:Excelの起動
まず、Excelを起動します。起動するときのコードは、以下のように書きます。
コード:
$excel = New-Object -ComObject Excel.Application # 新しくExcelを起動 $excel.Visible = $true # Excelの起動を見えるように設定
実行結果:
「$excel = New-Object -ComObject Excel.Application」でExcelを起動し、画面でExcelが見えるように「$excel.Visible = $true」を設定しています。
ただ、Excelを起動しただけでブックがありません。そこで次に、ブックを起動する方法を解説します。
サンプルコードの書き方2:ブックの起動
ブックを起動するコードは、以下のように書きます。
コード:
$wb = $excel.Workbooks.Add()
実行結果:
「Workbooks.Add()」でブックを起動したExcelに追加しています。これで、セルに値を書き込む準備ができました。
次に、セルに値を書き込む方法を解説します。
サンプルコードの書き方3:セルに値書き込み
セルに値を書き込むコードは、以下のように書きます。
コード:
$sheet = $wb.Sheets("Sheet1") # Sheet1を指定 $sheet.Range("A1") = "PowerShellから書き込み" # Sheet1のA1セルに値を書き込む
実行結果:
簡単に、セルに値を書き込むことができました。このように、簡単にOffice365系アプリとも連携し、さまざまな自動化処理が作れるのです。
まとめ
今回は、PowerShellでできること・おすすめ理由や始め方について解説しました。
PowerShellは、使いこなすとRPAのような自動化処理がたくさん作れます。コマンドレットのおかげで処理も書きやすく読みやすいので、学習コストも低いです。
簡単なところからでいいので、ぜひPowerShellを始めてみてくださいね。
PowerShellとは、マイクロソフトが開発した拡張可能なコマンドラインインターフェイス (CLI) シェルおよびスクリプト言語のことです。Windows 7以降のOS(オペレーティングシステム)には標準で搭載されています。
PowerShellではコマンドレットを使えます。従来のコマンドでは困難であった処理が、PowerShellによって短いコードで実現できるようになりました。
環境構築が不要である、ちょっとした自動化処理をすぐに作れる点がPowerShellのメリットです。