業務で簡単なPowerShellコードは書いたことがありますが、バッチファイルには触れたことがなかったため違いについて勉強しました。
■紹介する機能
PowerShellとバッチファイルの違い
■PowerShellとbatファイルの違いとは
・性能の違い
まず、大きな違いとしてはバッチファイルよりもPowershellの方が実現できることが多いです。
その代わり、Powershellはコマンドが煩雑になっています。
一方バッチファイルを使用するメリットとしては、軽量で起動が早い点です。
・起動方法の違い
Powershellは『.ps1』形式のファイルを作成し、バッチファイルは『.bat』という形式のファイルで作成します。
『.bat』はファイルのアイコンをダブルクリックするだけで起動できますが、『.ps1』はWindows Powershellを起動し、任意のファイルを開き、起動ボタンをクリックする、またはファイルを右クリックして『Powershellで実行』を押下する必要があります。
手順自体は難しくないですが、PCの扱いに慣れていないユーザーにスクリプトの起動をさせるのなら、バッチファイルの方が簡単だといえます。
また、PowershellはWindows Powershell上で実行し、バッチファイルはコマンドプロンプト上で実行する点も異なります。
・ファイルの作成方法
バッチファイルの作成方法とPowershellの作成方法はほぼ同じで、バッチファイルの場合はtextファイルにスクリプトを記載し、保存の際に『.bat』形式で保存する。Powershellの場合は、textファイルにスクリプトを記載し、保存の際に『.ps1』形式で保存します。または、『Windows Powershell ISE』にて作成すると、記載したコマンドに種類ごとに色が付くため、視覚的に作成がしやすいです。
■PowerShellとbatファイルの同じ点
・コマンド
Powershellでは、バッチファイルにて使用しているコマンドも使用出ます。
例えば、コマンドにて指定の場所を設定する際にPowershellでは[Set-Location]というコマンドを使用しますが、コマンドプロンプトでの[cd]というコマンドを打っても同じことができます。
Powershellとバッチファイルの使い分けとしましては、簡単な動作を実行したいだけならバッチファイル、何か煩雑な指示を出したいならPowershellという使い方になると思います。
参考:https://macruby.info/powershell/how-powershell-differs-from-command-prompt.html