【VBScript】タスクスケジューラからスクリプトを起動する


この記事はプロモーションを含みます。

VBScript

ホーム > VBScript 逆引きリファレンス

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)」となっていることを確認します。

次に、スクリプトに設定している出力ファイルの確認を行います。
以下のように、ファイルが作成されており、引数で指定した文字列(例では、秋拓技術学院)が出力されていれば、タスクの実行に成功しています。

コメント

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