Powershellのスクリプトで複数の処理を順番に呼び出したいときや、すでにいくつか用意されている処理をくっつけたいときなんかに、呼び出し元のスクリプトを用意して各処理を呼び出すなんてことができます。 もちろん、処理に引数を渡すこともできます。実際に動作を確認してみたので、やり方を紹介します。 別のスクリプトを呼び出す方法以下のスクリプトを用意します。動作を確認するために、カッコ内の処理とします。
ファイル名はそれぞれ以下とします。
それぞれのスクリプトの内容です。 1.引数の文字列をテキストファイルに書き出すスクリプト
2.書き出したテキストファイルを読み出すスクリプト
3.それぞれのスクリプトを呼び出すスクリプト
ポイントとして、PowerShell のスクリプトを呼び出す場合は、-ArgumentList オプションの引数にスクリプトファイルのパスを指定しますが、その前に「-Command」を付与する必要があります。これは、タスクスケジューラでPowerShellスクリプトを指定するときと同じ指定の仕方です。 わかりやすいように変数をなくして改行を入れて書いてみると以下のようになります。
外部プログラムを呼び出す処理1で書き出したテキストファイルをメモ帳で開くという動作ににしてみます。 スクリプトの変更箇所は、以下の2点です。
まとめPowershellスクリプトで、別のPowershellスクリプトを呼び出す方法、外部プログラムを呼び出す方法を紹介しました。 Start-Process を利用すれば引数を付与したり、処理が終わるまで次の処理を待つこともできますし、柔軟なプログラムをかけるのではないでしょうか。 やっぱり便利ですね、PowerShell 。以上です。 ↓↓↓ 持っていると便利な一冊 ↓↓↓ 2022/2/19 PowerShell どうも!リョクちゃです。 今回は、PowerShellで外部アプリケーションを呼び出す方法を紹介していきます。 外部アプリケーションは例えば、自身で作成した.exeファイルや、 Pythonのスクリプトも該当しますね。 Windowsコマンドでも呼び出すことはできるのですが、 PowerShellでももちろん、呼び出すことができるので ここで学んでしまいましょう。 ちなみに前回はこちら 現在の.NetFrameworkを知りたいときってありませんか?いろんな方法でバージョンを確認することはできますが、実はPowerShellでもできるとのことなので今回はPowerShellで確認する方法を紹介していきます。参考になれば嬉しいです。
目次
PowerShellで外部アプリケーションを呼び出す外部アプリケーションを呼び出すには、既にコマンドがサポートされており、 以下のコマンドを使用することで外部アプリケーションを呼び出すことができます。 Start-Process -FilePath <“アプリケーション名”> Start-Processを使用することで、外部アプリケーションを呼び出すことが可能です。 例) メモ帳を開いてみます。 メモ帳はWindowsでは”notepad“という名称でインストールされています。
実行すると、メモ帳が開きます。 例えば、引数を渡したい場合もあると思います。 そんな時は、Start-Processコマンドのオプションに-ArgumentListというのがあります。 このオプションを設定することで外部アプリケーションに引数を渡すことができます。
他の呼び出し方Start-Processで呼び出してもいいんですが、こちらで呼び出すと 外部アプリケーションが終了したときに返される終了コードを受け取ることができません。 そこで終了コードを受け取るには、以下の呼び出し方を検討してみましょう。 System.Diagnostics.ProcessStartInfo System.Diagnostics.Process これらを使って、外部アプリケーションを呼び出します。 例) 外部アプリケーションを呼び出す、一連の流れ
例) メモ帳を呼び出す流れ
実行すると、メモ帳が開き、何もせず終了すると 終了コード0が受け取れると思います。 まとめPowerShellで外部アプリケーションを呼び出す方法について、紹介していきました。 終了コードを受け取りたい場合には、Start-Processではなく、 System.Diagnostics.ProcessStartInfoと System.Diagnostics.Processを検討しましょう。 使い方を覚えるとPowerShellだけで外部アプリケーションを呼び出せるようになるので、 便利っちゃ便利です。 また、外部アプリケーションを呼んで処理を任せたいときなんかにも有効ですね。 最後までお読みいただき、ありがとうございます。 StartStart-Process -FilePath 【実行ファイルのパス】
ファイル名は「notepad.exe」です。
StartStart-Process コマンドレットでは “-WindowStyle” オプションで起動時のウィンドウ状態を指定することができます。 Start-Process で新たにプロセスを立ち上げてアプリケーションを動かす場合、「バックグラウンドで処理させたいなぁ」という時にこのオプションを活用しましよう!
|