VBScriptで作成したスクリプトをタスクスケジューラで実行する方法を解説します。
はじめに
本記事では、VBScriptファイル(*.vbs)を、タスクスケジューラから実行する方法を説明します。
実行方法が異なる、以下の2パターンを説明していきたいと思います。
- 引数を付けずに実行する
- 引数を付けて実行する
また、本作業を行った環境は、「Windows11 Pro」です。
タスクスケジューラを起動する方法
ここでは、タスクスケジューラを起動する方法を説明します。
まず、タスクバーの検索欄に「タスクスケジューラ」と入力し、
検索結果に表示された「タスクスケジューラ」をクリックします。
以下のような画面が表示されれば、起動は完了となります。
引数を付けずに実行する
ここでは、引数を付けずにスクリプトを実行する方法を説明します。
実行するスクリプト
下記がテスト用のスクリプトで、ファイル名は「日時情報出力.vbs」としています。
このスクリプトは、実行することで、指定したパスに「log.txt」というファイルを作成します。
また、作成したファイルには、実行した日時を出力します。
Option Explicit
' 出力ファイル
Const LOG_FILE = "C:\Workspace\log.txt"
Dim fso, file
' ファイルシステムオブジェクトの作成
Set fso = CreateObject("Scripting.FileSystemObject")
' テキストファイルのオープン(追記モード)
Set file = fso.OpenTextFile(LOG_FILE, 8, True)
' 日時情報を出力
file.WriteLine(Now())
' テキストファイルのクローズ
file.Close
' ファイルシステムオブジェクトの破棄
Set fso = Nothing
タスクの作成
ここからは、スクリプトをタスクスケジューラに登録する方法を説明していきます。
まず、タスクスケジューラの左側にある「タスクスケジューラライブラリ」を選択します。
選択後は、右側に表示される「基本タスクの作成」をクリックします。
「基本タスクの作成」画面が表示されるので、作成するタスクの「名前」と「説明」(任意)を入力し、「次へ」をクリックします。
「タスクトリガー」画面が表示されるので、タスクを開始する周期を設定します。
タスクの開始タイミングを選択し、「次へ」をクリックします。
ここでは「毎日」を設定しています。
「毎日」画面が表示されるので、タスクを開始するタイミングを設定します。
日時と間隔を設定し、「次へ」をクリックします。
「操作」画面が表示されるので、「プログラムの開始」を選択し、「次へ」をクリックします。
「プログラムの開始」画面が表示されるので、実行するスクリプトを設定していきます。
VBScriptファイルを実行するには、以下のように設定します。
スクリプトの格納パス\スクリプト名.vbs
ここでは、「C:\Workspace\日時情報出力.vbs」と設定しました。
「要約」画面が表示されるので、作成するタスクの内容を確認し、「完了」をクリックします。
以下のように表示されていれば、タスクの作成は完了となります。
タスクの作成は以上です。次項で動作確認を行います。
動作確認
ここでは、作成したタスクの動作確認を行います。
作成したタスクを右クリックし、「実行する」をクリックします。
下記のように、「前回の実行時刻」が、タスクを実行した日時に、
「前回の実行結果」が「この操作を正しく終了しました。(0x0)」となっていることを確認します。
次に、スクリプトに設定している出力ファイルの確認を行います。
以下のように、ファイルが作成されており、日時情報が出力されていれば、タスクの実行に成功しています。
引数を付けて実行する
ここでは、引数を付けてスクリプトを実行する方法を説明します。
実行するスクリプト
下記がテスト用のスクリプトで、ファイル名は「引数情報出力.vbs」としています。
このスクリプトは、実行することで、指定したパスに「log.txt」というファイルを作成します。
また、作成したファイルには、引数として渡された文字列を出力します。
Option Explicit
' 出力ファイル
Const LOG_FILE = "C:\Workspace\log.txt"
Dim fso, file
' ファイルシステムオブジェクトの作成
Set fso = CreateObject("Scripting.FileSystemObject")
' テキストファイルのオープン(追記モード)
Set file = fso.OpenTextFile(LOG_FILE, 8, True)
' 引数情報を出力
file.WriteLine(WScript.Arguments(0))
' テキストファイルのクローズ
file.Close
' ファイルシステムオブジェクトの破棄
Set fso = Nothing
タスクの作成
ここからは、スクリプトをタスクスケジューラに登録する方法を説明していきます。
まず、タスクスケジューラの左側にある「タスクスケジューラライブラリ」を選択します。
選択後は、右側に表示される「基本タスクの作成」をクリックします。
「基本タスクの作成」画面が表示されるので、作成するタスクの「名前」と「説明」(任意)を入力し、「次へ」をクリックします。
「タスクトリガー」画面が表示されるので、タスクを開始する周期を設定します。
タスクの開始タイミングを選択し、「次へ」をクリックします。
ここでは「毎日」を設定しています。
「毎日」画面が表示されるので、タスクを開始するタイミングを設定します。
日時と間隔を設定し、「次へ」をクリックします。
「操作」画面が表示されるので、「プログラムの開始」を選択し、「次へ」をクリックします。
「プログラムの開始」画面が表示されるので、実行するスクリプトを設定していきます。
VBScriptファイルを実行するには、以下のように設定します。
- プログラム/スクリプト:スクリプトの格納パス\スクリプト名.vbs
- 引数の追加:引数1 引数2 引数n …
ここでは、「C:\Workspace\引数情報出力.vbs」と設定しました。
また、引数の追加欄には「秋拓技術学院」を指定しました。
「要約」画面が表示されるので、作成するタスクの内容を確認し、「完了」をクリックします。
以下のように表示されていれば、タスクの作成は完了となります。
タスクの作成は以上です。次項で動作確認を行います。
動作確認
ここでは、作成したタスクの動作確認を行います。
作成したタスクを右クリックし、「実行する」をクリックします。
下記のように、「前回の実行時刻」が、タスクを実行した日時に、
「前回の実行結果」が「この操作を正しく終了しました。(0x0)」となっていることを確認します。
次に、スクリプトに設定している出力ファイルの確認を行います。
以下のように、ファイルが作成されており、引数で指定した文字列(例では、秋拓技術学院)が出力されていれば、タスクの実行に成功しています。
コメント