PowerShellでバッチ処理を作成する方法|コマンドプロンプトのバッチファイルとの違いも解説

目次

スポンサードリンク

WindowsのPowerShellでは、複数のコマンドを1つのスクリプトファイルにまとめて、バッチ処理として実行することができます。PowerShellのスクリプトファイルの拡張子は .ps1 です。

.ps1ファイルの作り方

以下の例は、特定のフォルダ配下のファイルを、別のフォルダにバックアップするスクリプトです。backup.ps1 というファイルに保存しておきます。ファイルを保存する際の文字コードは「BOM付き UTF-8」が推奨です。

Write-Output "バックアップ開始"
Copy-Item "C:\logs\*" "D:\backup\" -Recurse
Write-Output "バックアップ完了"

.ps1ファイルは.batと異なり、クリックしただけでは起動できません。起動したいときは、PowerShellから以下のように実行します。

PS C:\work> .\backup.ps1
バックアップ開始
バックアップ完了

定期的に実行する方法

作成した .ps1 ファイルを定期的に実行したいときは「タスクスケジューラ」を使用します。スタートメニューで「タスクスケジューラ」と検索し起動できます。

以下の流れで設定できます。

  1. 右側の「基本タスクの作成」をクリック。
  2. 名前と説明を入力 → [次へ]
  3. 実行のタイミング(毎日/毎週/ログオン時など)を選択 → [次へ]
  4. 時間や頻度を設定 → [次へ]
  5. 「プログラムの開始」を選択 → [次へ]
    • 以下を入力:
      • プログラム/スクリプト:powershell
      • 引数の追加(オプション):-ExecutionPolicy Bypass -File “C:\work\backup.ps1”
  6. 完了をクリックしてスケジュール登録。

まとめ

PowerShellでもコマンドプロンプト同様にバッチ処理が可能で、より高機能なスクリプトの作成が行えます。.ps1ファイルの作成と実行に慣れれば、日常的な作業の自動化や効率化ができます。


コマンドプロンプトのポケットリファレンス:Windows11対応版
Windows環境で開発やシステム管理を行うエンジニアにとって、コマンドプロンプトの知識は非常に重要なスキルセットです。こちらの書籍は初心者にもわかりやすく網羅的です。手元に置いておきたい一冊です。

PowerShellの基礎を一通り学べるおすすめ書籍