コマンドプロンプトからPowerShellスクリプトを実行する - DOSプロンプトからコマンドによるPowerShellスクリプトの実行

コマンドプロンプトからPowerShellスクリプトを実行するためのコマンドを紹介します。

スクリプトファイルを実行する場合

コマンド

powershell -File (実行するスクリプトファイル名)
スクリプトファイルのパスにスペース(" ")が含まれる場合はダブルクォーテーションで囲みます。

powershell -File "C:\Develop Repository\iPentecDemo\PowerShell Demo\String\StringJoin.ps1"
powershell -File StringJoin.ps1

実行結果の例


コマンドを直接実行する場合

コマンド

powershell -Command (実行するコマンド)

スクリプトファイル名に空白文字列が含まれる場合は「"」で囲みます。コマンド内で「"」を表現する場合は「""」と記述します。

powershell -Command (ファイル名) で実行できる場合と、エラーになる場合がある。
powershell -Command (ファイル名) を利用した場合、コマンドを実行できる場合とエラーになる場合があります。 詳しくはこちらの記事を参照してください。

powershell -Command "ls"
powershell -Command "Write-Output ""Penguin"""

カレントディレクトリのスクリプトを実行する場合)

下記のコマンドを実行するとエラーになります。
powershell -Command StringJoin.ps1

"-Command" オプションを利用して、カレントディレクトリのスクリプトを実行する場合は、"./" を付けて明示的にカレントディレクトリを指定します。

正常に実行できる例

powershell -Command ./StringJoin.ps1

ファイル名にスペースが入る例

ファイル名にスペースが含まれる場合は、ファイルパス全体を「'」(シングルクォート)で囲み、先頭に「&」を追加します。
powershell -Command "& './String Join.ps1'"
著者
iPentecの企画・分析担当。口が悪いのでなるべく寡黙でありたいと思っている。が、ついついしゃべってしまい、毎回墓穴を掘っている。
掲載日: 2013-09-17
改訂日: 2023-03-22
iPentec all rights reserverd.