せっかく書いたps1ファイルをいざ実行しようとしたら「認識されません」と怒られた、なんて経験はありませんか。
結論から言うと、同じフォルダーにあるps1ファイルは次のコマンドで実行できます。
.\test.ps1ただ実際にはファイルの場所やシチュエーションによって実行方法がいくつかあります。この記事では相対パス・絶対パス・-Fileオプション・右クリックといった主要な実行方法の違いと、それぞれの使いどころを解説します。
- OS
Windows 11 Home 25H2
- PowerShell
7.6.3
PowerShellでps1ファイルを実行する基本コマンド
PowerShellでps1ファイルを実行する一番シンプルな方法はカレントフォルダー(今いるフォルダー)にあるファイルを.\付きで指定することです。
.\test.ps1Hello, World!見ての通り拡張子付きのファイル名を打つだけですが、先頭の.\を忘れると動きません。この理由は後半の「ps1ファイルを実行できない場合の確認項目」でまとめて説明します。
実行方法をざっくり比較すると次のとおりです。詳しい書き方は後述しますが、まずは全体像をつかんでおきましょう。
| 実行方法 | 書き方の例 | 向いている場面 |
|---|---|---|
| 相対パス | .\test.ps1 | 同じフォルダーやそのサブフォルダーのスクリプトをサクッと実行したいとき |
| 絶対パス(呼び出し演算子) | & "C:\Scripts\test.ps1" | 別フォルダーにあるスクリプトをパス指定で実行したいとき |
-Fileオプション | powershell.exe -File "C:\Scripts\test.ps1" | バッチファイルやタスクスケジューラーから呼び出したいとき |
| 右クリック実行 | エクスプローラーで右クリック→「PowerShellで実行」 | とりあえず手軽に1回だけ試したいとき |
ps1ファイルを作成して実行する手順
まずは簡単なps1ファイルを用意して、実行結果を確認するところまでやってみます。
メモ帳などのテキストエディターを開き、次の1行を入力する。
Write-Output "Hello, World!"拡張子を変更する
拡張子を.ps1にして保存する(例:test.ps1)。
そのファイルがあるフォルダーでPowerShellを開く。
特定のフォルダーでPowerShellをサクッと開く方法は以下でまとめているのであわせて読んでみてください。


ps1ファイルを実行する。
.\scripts\test.ps1Hello, World!ps1ファイルの実行方法を使い分ける
相対パスでps1ファイルを実行する
今いるフォルダーを基準にする実行方法です。同じフォルダーなら.\test.ps1、サブフォルダーにある場合は.\scripts\test.ps1のように指定します。
.\test.ps1Hello, World!ここで.\を付けずにtest.ps1とだけ打つと、次のようなエラーになります。


これはPowerShellの仕様で、セキュリティ上の理由からカレントフォルダーを自動では検索しないためです。
絶対パスでps1ファイルを実行する
別のフォルダーにあるps1ファイルを実行する場合はフルパスを指定します。スペースを含まないパスはC:\Scripts\test.ps1のように直接入力しても実行できます。
パスにスペースが含まれる場合はダブルクォートで囲み、先頭に呼び出し演算子&を付けます。迷う場合は次の形で統一すると確実です。
& "C:\Scripts\test.ps1"Hello, World!&を付けることでこの文字列をコマンドとして実行するようPowerShellに伝えられるわけですね。&なしでクォート付きパスだけを実行しようとするとスクリプトは実行されずパスの文字列がそのまま表示されるだけになるので注意してください。
powershell.exe・pwshの-Fileで実行する
コマンドプロンプトやバッチファイル、タスクスケジューラーなどPowerShellの対話画面を経由せずに実行したい場合は-Fileオプションを使います。
powershell.exe -File "C:\Scripts\test.ps1"
pwsh.exe -File "C:\Scripts\test.ps1"powershell.exeとpwsh.exeという2つのコマンド名が出てきましたが、これはPowerShellのバージョンの違いです。
- powershell.exe
Windows標準搭載のPowerShell 5.1です。Windowsの一部として組み込まれているため削除できず、新機能の追加もないメンテナンスモードの状態です。 - pwsh.exe
現在開発されているPowerShell 7系です。Windowsではwinget、MSIインストーラー、Microsoft Storeなどから別途インストールします。2026年8月時点の最新LTSは7.6系です。
両者は別フォルダーにインストールされ共存できるので、5.1と7.xのどちらで実行しているか迷ったときは以下の記事も参考にしてみてください。


タスクスケジューラーからPowerShellスクリプトを定期実行したい場合の設定方法は以下でまとめています。


右クリックからps1ファイルを実行する
「PowerShellで実行」を選ぶと新しいPowerShellセッションが開き、スクリプトの終了時にセッションも閉じます。そのため処理が短いスクリプトでは結果を確認する前にウィンドウが閉じることがあります。
右クリック実行でも設定されている実行ポリシーは適用されます。実行ポリシーやダウンロードしたファイルのブロックが原因で実行できない場合は、後述する確認項目を確認してください。
なお、Windows 11では「PowerShell 7で実行」がコンテキストメニューに表示されない既知の問題があります。右クリックメニューで見つからない場合はPowerShellを開いてコマンドから実行してください。
ps1ファイルを実行できない場合の確認項目
ここまでの方法を試してもps1ファイルが実行できない場合、以下を順番に確認してみてください。
- カレントフォルダーやファイルパスが違う
.\test.ps1は今いるフォルダーが基準です。cdで移動するか絶対パスで指定してください。.\を付けていないファイル名だけを打つと「認識されません」というエラーになります。相対パスの項目で紹介したエラーがこれにあたります。
- 実行ポリシーでブロックされている
「このシステムではスクリプトの実行が無効になっているため」というエラーが出る場合、実行ポリシーの設定が原因です。変更方法は以下の記事で詳しく解説しています。
あわせて読みたい
PowerShellスクリプトの実行ポリシーを変更する方法|Set-ExecutionPolicyとエラー解決 PowerShellで「スクリプトの実行が無効になっているため」エラーが出たときの解決方法を解説。Get-ExecutionPolicy・Set-ExecutionPolicyの使い方からスコープの違い、個人PC・業務PCの推奨設定までまとめています。- ダウンロードしたファイルがブロックされている
インターネット経由でダウンロードしたps1ファイルには「ブロック」の印が付くことがあります。これが原因で
RemoteSignedポリシーでも実行できない場合があります。Unblock-Fileコマンドでブロックを解除できます。
Unblock-Fileを実行する前にスクリプトの内容と入手元を確認してください。信頼できると判断したファイルだけをブロック解除します。- PowerShell 5.1と7のどちらで実行しているか分からない
次のコマンドでバージョンを確認できます。
PowerShell$PSVersionTable.PSVersion

「$PSVersionTable.PSVersion」でPowerShellのバージョンを確認できます バージョン欄が
5.xならWindows PowerShell、7.xならPowerShell 7です。5.1と7.xでは実行ポリシーの設定が別々に管理されているので、想定と違うバージョンで実行していないかも確認してみてください。
よくある質問
まとめ
- 同じフォルダーのps1ファイルは
.\test.ps1で実行できるよ。 - 別フォルダーのps1ファイルは絶対パスで実行できるよ。パスを””で囲む場合は先頭に呼び出し演算子
&を付けてね。 - コマンドプロンプトやタスクスケジューラーから呼ぶときは
-Fileオプションを使ってね。 - 右クリック実行は手軽だけど、ウィンドウがすぐ閉じるから結果確認には向かないよ。
- うまく実行できないときは、まず
.\の付け忘れと実行ポリシーを疑ってみてね。
ps1ファイルの実行後に覚えたいPowerShellの基本操作や自動化例はPowerShellまとめから用途別に探せます。







