2017年11月
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30    
無料ブログはココログ

« タスクスケジューラのタスクをスクリプトから起動する。 | トップページ | PowerShellがあれば、文字コード変換も簡単です。 »

2010年1月21日 (木)

タスクスケジューラのタスクに引数を与えて起動する。

schtasksコマンドではできませんが、スクリプトからは可能です。

タスクの引数に、仮引数を、$(Arg0),$(Arg1),$(Arg2)...などと書いておけば、実引数に置き換えられます。
実引数に置き換わらなかった仮引数はそのまま残ります。

Set TaskService=CreateObject("Schedule.Service")
TaskService.Connect
Set Folder=TaskService.GetFolder("\")
Set Task=Folder.GetTask("hoge")
Task.Run "引数0"

VBScriptでは、String型の配列が作れないので渡せるのは1個の文字列です。

PowerShellなら、複数の文字列が渡せます。

$TaskService=New-Object -ComObject schedule.service
$TaskService.Connect()
$Folder=$TaskService.GetFolder("\")
$Task=$Folder.GetTask("hoge")
[String[]]$a="引数0","引数1","引数2"
$Task.Run($a)

« タスクスケジューラのタスクをスクリプトから起動する。 | トップページ | PowerShellがあれば、文字コード変換も簡単です。 »