【Powershell】batファイルからps1ファイルを実行する方法【手間を省く】

今回は、batファイルからps1ファイルを実行する方法について説明します。そもそも、わざわざbatファイルから実行する必要があるんか?といった前段のところから話していけたらと思います。

では、さっそく内容に入っていきましょう。

batファイルからps1ファイルを実行するメリットとは

メリットを一言で述べると「実行までの手間が省ける」です。

本来、ps1ファイルを実行するまでのステップは以下の通りです。
→PowerShellを起動する
→ps1ファイルがあるパスへ移動
→実行のコマンドを入力

しかし、batファイルからps1ファイルを実行する場合は、batファイルを開くだけで勝手にps1ファイルが実行されます。

両者を比べてみると、明らかに手間が省かれていることがわかりますよね。私は、これが一番のメリットであると考えます。

さらに、細かいところでいうと、各ps1ファイルに共通の実行時処理や条件などをbatファイルにあらかじめ記述しておき、あとはps1ファイルのパスの部分だけを書き換えて使いまわす、といったことができるのもメリットとしてあると思います。

次の見出しでは、具体的な方法について説明していきます。

batファイルからps1ファイルを実行する方法

batファイルからps1ファイルを実行する方法は、実はとても簡単でして、batファイルに以下1行の記述があれば実行が可能です。

画像1

詳細を少し補足します。

■NoProfile
 ・Windows PowerShell プロファイルを使用せずに Windows PowerShell セッションを開始する。
■ExecutionPolicy
・実行のポリシー。以下のようにいくつか種類があるが、ポリシーがUnrestrictedであれば基本的に実行はされる。

画像2

【参考】PowerShellのExecutionPolicyのスコープとかについて詳しく

はい、以上がbatファイルからps1ファイルを実行する方法なんですが、これだけだと少し寂しいので、サンプルのbatファイルをお見せしますね。

【サンプル】ps1ファイルを呼び出すbatファイル

以下、サンプルのファイルを用意しました。
処理の中身についてはコメントアウトで補足しましたので、そちらをご覧ください。

★この辺をちょっとだけ追加してみました★
・変数の定義&使用
・メッセージの表示
・ログファイルへの吐き出し

画像3

以上。

【おすすめ書籍】

PowerShellについて体系的に学びたい、参考書として一冊持っておきたい方はこちらがおすすめです。(自分も使ってます)


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です