Windowsのbat資産は数多くあるわけで、必要になることも多い、PowerShellからバッチを起動する方法が知りたくて調べたことをメモしておきます。
PowerShellからバッチプログラムを起動する方法
Start-Processコマンドレットを使用します。
(コマンドプロンプトにおけるcallのような感じ)
以下、使用例です。
PS C:> Start-Process C:\Users\TARO\Desktop\echo.bat
この記事を読んでいる人には、言うまでもないことだと思いますが、Start-Processコマンドでnotepadなどのプログラムプロセスも実行することができます。
PowerShellからバッチに引数をつけて起動する方法
色々と引数をつけて、実行することもできます。
パラメータ | 用途 |
---|---|
-FilePath | 実行ファイルのパス。パス内にスペースが入っていると動ないので、ダブルクオーテーションでくくる。上の書き方を使うから、この書き方の出番は少ないかなと思います。 |
-ArgumentList | 実行ファイルへ渡す引数。Stringの配列を渡せる。設定ファイルの読み込みをするときなどに使用。 |
-PassThru | 実行するプロセスのオブジェクトを生成してくれる。プロセスの情報を利用したいときに使用。 |
-Wait | 指定したプロセスの実行が完了するまでPowerShellが待機する。実行順序、タイミングの制御に使用。 |
-NoNewWindow | プロセス実行時に別ウィンドウを立ち上げない。-WindowStyleとは併用不可。 |
-WindowStyle | プロセスを実行する際のWindowサイズを指定。規定値はNormal。-NoNewWindowとは併用不可。
|
それにしても、PowerShellとコマンドプロンプトの混在している現状がなくなるのはいつになるのでしょうね。。。