もくじ
📝 はじめに
PowerShellで作業していると、
「特定のプログラムを起動したい」
「スクリプトからアプリやファイルを開きたい」
という場面はよくあります。
そんなときに使うのが、
プログラムやファイルを起動できる
Start-Process です。
この記事では、ダブルクリック操作をPowerShellで再現する感覚で、
基本から実務での使い方までを解説します。
- スクリプトからアプリケーションを起動したい
- 管理者権限でプログラムを実行したい
- 引数付きでツールやバッチを起動したい
✅ このコマンドでできること(要点)
- プログラム・ファイル・URLを起動できる
- 引数を指定して実行できる
- 管理者権限で起動できる
- 他のコマンドと組み合わせて自動化できる
✅ Start-Process でできること
Start-Process は、
プログラムやファイル、URLなどを新しいプロセスとして起動するコマンドです。
エクスプローラーでダブルクリックする操作を、
PowerShellから明示的に実行できるイメージです。
GUIアプリ・CLIツールのどちらにも対応できます。
「起動方法を制御できる」のが大きな特徴です。
🧩 基本構文
Start-Process プログラム名
プログラム名やパスを指定して実行します。
フルパスを指定すると、確実に起動できます。
▶ 基本的な使い方(まずこれだけ)
🔹 プログラムを起動する
Start-Process notepad
メモ帳が起動します。
ウィンドウが表示されれば、正常に実行できています。
🔹 ファイルを指定して起動する
Start-Process "C:\test\sample.txt"
既定のアプリケーションでファイルが開きます。
ファイルが表示されれば問題ありません。
🛠 よく使われる指定例
🔹 引数を付けて起動する
Start-Process notepad -ArgumentList "C:\test\sample.txt"
起動時に引数を渡すことで、
開くファイルや動作を指定できます。
🔹 管理者権限で起動する
Start-Process notepad -Verb RunAs
管理者として実行されます。
UACの確認画面が表示される場合があります。
💼 実務でよく使う使用例(応用)
🔹 バッチファイルを実行する
Start-Process "C:\scripts\backup.bat"
バッチファイルが新しいプロセスとして実行されます。
実行されれば、処理は開始されています。
🔹 処理完了まで待機する
Start-Process notepad -Wait
プロセスが終了するまで、
次の処理に進まないようにできます。
- Get-Process で起動確認
- Stop-Process で終了制御
- -Wait で処理順を管理
🧩 よくある勘違い・つまずきポイント
- 相対パスだと起動できないことがある
- 引数の指定方法を間違えやすい
- 管理者権限が必要なプログラムがある
- 起動後すぐに制御が戻る点に注意
🔄 cmdとの違いについて
cmdでは start コマンドが
プログラム起動に相当します。
start は挙動が分かりにくいことがありますが、
Start-Process は引数や権限を明示的に指定できる点が特徴です。
⚠ エラー・うまく動かないときの確認ポイント
- プログラムやファイルのパスが正しいか
- 実行権限があるか
- 引数の指定方法が合っているか
- 管理者権限が必要な操作ではないか
🧠 注意点
Start-Process は新しいプロセスを起動します。
元のPowerShellセッションとは独立して動作する点を理解しておきましょう。
📌 まとめ
- Start-Processはプログラム起動の基本コマンド
- 引数・権限・待機などを柔軟に制御できる
- 自動化や手順書作成に向いている
- 次は Get-Process と併用すると管理しやすい
🔎 PowerShellコマンドを探す
やりたいことからコマンドを探せます。
- ファイルを削除したい
- 一覧を表示したい
- 文字列を検索したい
- 条件で絞り込みたい
- エラーや実行できない原因を調べたい
- プログラムを起動したい
- 管理者として実行したい
