PowerShellからバッチを起動して実行する方法

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とは併用不可。

  • Normal
  • Hidden
  • Minimized
  • Maximized

それにしても、PowerShellとコマンドプロンプトの混在している現状がなくなるのはいつになるのでしょうね。。。

 

 
タイトルとURLをコピーしました