【PowerShell講座】外部プログラムを実行する

外部プログラムを実行する

※この記事は「2021年5月16日」に更新しました。

PowerShell(パワーシェル)講座です。

前回は、ファイル入出力について紹介しました。

ファイル入出力

【PowerShell講座】ファイル入出力

2019年8月22日

今回は、外部プログラムの実行について。

環境は、Windows 10(64bit)、PowerShell 6.1.2 です。

ぱそた
SE、Web制作、販売を経験した管理人が解説します。

外部プログラムを実行する

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

私の場合、サクラエディタが起動しました(最近は、Atom を使っています)。

サクラエディタ

実行ファイル以外を指定するとそのファイルを開くことができるプログラムが起動されます。

ファイルに関連付けられているプログラムが起動するわけです。

次は、-ArgumentList を使ってみましょう。

Start-Process -FilePath notepad -ArgumentList C:\Users\Owner\documents\test.txt

同じ結果が得られたかと思います。

最後に

いかがでしょうか。

今回は、外部プログラムの実行について、解説しました。

PowerShell(パワーシェル)単体でも強力ですが、他のアプリや従来のコマンドと組み合わせることで可能性は更に広がります。

色々試していきたいと思っています。