※この記事は「2023年7月20日」に更新しました。
PowerShell(パワーシェル)講座です。
今回は、外部プログラムの実行について。
環境は、Windows 10(64bit)、PowerShell 6.1.2 です。
外部プログラムを実行する
PowerShell(パワーシェル)を使うと様々なことができますが、Windows アプリケーションと組み合わせることで、更に便利に使うことができます。
例えば、exe形式の実行ファイルなら、実行ファイル名をコマンドとして入力するだけで使えます。
実際にやってみましょう。
メモ帳を起動してみます。
メモ帳のプログラムの実行ファイル名は、notepad.exe です。
下記ファイル名を PowerShell で入力して起動してみます。
notepad
メモ帳が起動したかと思います。
ただし、パスを入力しないと起動しないものもあるので注意しましょう(パスが通っていない場合)。
Start-Process【PowerShellコマンドレット】
Start-Process は、プロセスを開始するコマンドレットです。
オプションは、以下のようなものがあります。
- -FilePath
- 実行ファイルのパスを指定する。
- -ArgumentList
- プロセスを開始するときにパラメータを指定する。
- -Credential
- 処理を実行するアクセス許可を持つユーザーアカウントを指定する。
- -Verb
- プロセスを開始するときに使用する動詞を指定する。
- -Wait
- 指定したプロセスが完了するまで、次の入力を受け取るのを待つ。
例えば、メモ帳を起動する場合、以下のようなコマンドレットを入力します。
Start-Process -FilePath "C:\Windows\System32\notepad.exe"
先程と同様にメモ帳が起動したかと思います。
ちなみにパスを指定するときに半角スペースなどがなければ、”(ダブルクォーテーション)で囲む必要はありません。
次に、実行ファイル以外を指定してみます。
ドキュメントに適当にテキストファイルを保存してみてください。
私は、test.txt というものを作成して、保存しました。
この場合、以下のように指定してみます(パスは環境によって異なります)。
Start-Process -FilePath C:\Users\Owner\documents\test.txt
実行ファイル以外を指定するとそのファイルを開くことができるプログラムが起動されます。
ファイルに関連付けられているプログラムが起動するわけです。
次は、-ArgumentList を使ってみましょう。
Start-Process -FilePath notepad -ArgumentList C:\Users\Owner\documents\test.txt
同じ結果が得られたかと思います。
最後に
今回は、外部プログラムの実行について、解説しました。
前回は、ファイル入出力について紹介しました。
PowerShell(パワーシェル)単体でも強力ですが、他のアプリや従来のコマンドと組み合わせることで可能性は更に広がります。
色々試していきたいと思っています。