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 ファイルを定期的に実行したいときは「タスクスケジューラ」を使用します。スタートメニューで「タスクスケジューラ」と検索し起動できます。
以下の流れで設定できます。
- 右側の「基本タスクの作成」をクリック。
- 名前と説明を入力 → [次へ]
- 実行のタイミング(毎日/毎週/ログオン時など)を選択 → [次へ]
- 時間や頻度を設定 → [次へ]
- 「プログラムの開始」を選択 → [次へ]
- 以下を入力:
- プログラム/スクリプト:powershell
- 引数の追加(オプション):-ExecutionPolicy Bypass -File “C:\work\backup.ps1”
- 以下を入力:
- 完了をクリックしてスケジュール登録。
まとめ
PowerShellでもコマンドプロンプト同様にバッチ処理が可能で、より高機能なスクリプトの作成が行えます。.ps1ファイルの作成と実行に慣れれば、日常的な作業の自動化や効率化ができます。
コマンドプロンプトのポケットリファレンス:Windows11対応版
Windows環境で開発やシステム管理を行うエンジニアにとって、コマンドプロンプトの知識は非常に重要なスキルセットです。こちらの書籍は初心者にもわかりやすく網羅的です。手元に置いておきたい一冊です。
リンク
PowerShellの基礎を一通り学べるおすすめ書籍
リンク