Sdílet prostřednictvím


Příklad denního triggeru (skriptování)

Tento příklad skriptování ukazuje, jak vytvořit úlohu, která spouští Poznámkový blok každý den v 8:00. Úkol obsahuje denní aktivační událost, která určuje počáteční hranici pro aktivaci triggeru a určení denní doby spuštění úkolu, interval aktivační události určující, že se úloha spouští každý den, a koncový okraj, který aktivační událost deaktivuje. Příklad také ukazuje, jak nastavit vzorec opakování pro trigger, který má úlohu opakovat. Úloha obsahuje také spustitelná akce, která spouští Poznámkový blok.

Následující postup popisuje, jak naplánovat úlohu tak, aby každý den spustil spustitelný soubor v 8:00. (Tyto kroky odpovídají komentářům kódu zahrnutým v ukázkovém kódu.)

Naplánování poznámkového bloku tak, aby se každý den spustil v 8:00

  1. Vytvoření objektu TaskService Tento objekt umožňuje vytvořit úlohu v zadané složce.
  2. Získejte složku úkolu a vytvořte úkol. Pomocí metody TaskService.GetFolder získejte složku, ve které je úloha uložena, a metodu TaskService.NewTask vytvořit TaskDefinition objekt, který představuje úlohu.
  3. Definujte informace o úkolu pomocí TaskDefinition objektu. Pomocí vlastnosti TaskDefinition.Settings definujte nastavení, která určují, jak služba Plánovač úloh provádí úlohu, a vlastnost TaskDefinition.RegistrationInfo definovat informace, které popisují úlohu.
  4. Vytvořte denní aktivační událost pomocí vlastnosti TaskDefinition.Triggers. Tato vlastnost poskytuje přístup k TriggerCollection objekt, který slouží k vytvoření triggeru. K vytvoření denní aktivační události použijte metodu TriggerCollection.Create (určení typu triggeru, který chcete vytvořit). Při vytváření triggeru nastavte počáteční hranici pro aktivaci triggeru a určete denní dobu, po kterou se úloha spustí, interval mezi dny a koncovým hranicem pro deaktivaci triggeru. Následující příklad ukazuje, jak nastavit vzor opakování pro trigger, který má úlohu opakovat.
  5. Pomocí vlastnosti TaskDefinition.Actions vytvořte akci pro úlohu, která se má provést. Tato vlastnost poskytuje přístup k ActionCollection objekt použitý k vytvoření akce. Pomocí metody ActionCollection.Create zadejte typ akce, kterou chcete vytvořit. Tento příklad používá objekt ExecAction, který představuje akci, která provádí operaci příkazového řádku.
  6. Zaregistrujte úlohu pomocí metody TaskFolder.RegisterTaskDefinition. V tomto příkladu úkol spustí Poznámkový blok každý den v 8:00.

Následující příklad jazyka VBScript ukazuje, jak naplánovat úlohu, která má provádět Poznámkový blok každý den v 8:00.

'------------------------------------------------------------------
' This sample schedules a task to start on a daily basis.
'------------------------------------------------------------------

' A constant that specifies a daily trigger.
const TriggerTypeDaily = 2
' A constant that specifies an executable action.
const ActionTypeExec = 0

'********************************************************
' Create the TaskService object.
Set service = CreateObject("Schedule.Service")
call service.Connect()

'********************************************************
' Get a folder to create a task definition in. 
Dim rootFolder
Set rootFolder = service.GetFolder("\")

' The taskDefinition variable is the TaskDefinition object.
Dim taskDefinition
' The flags parameter is 0 because it is not supported.
Set taskDefinition = service.NewTask(0) 

'********************************************************
' Define information about the task.

' Set the registration info for the task by 
' creating the RegistrationInfo object.
Dim regInfo
Set regInfo = taskDefinition.RegistrationInfo
regInfo.Description = "Start notepad at 8:00AM daily"
regInfo.Author = "Administrator"

' Set the task setting info for the Task Scheduler by
' creating a TaskSettings object.
Dim settings
Set settings = taskDefinition.Settings
settings.Enabled = True
settings.StartWhenAvailable = True
settings.Hidden = False

'********************************************************
' Create a daily trigger. Note that the start boundary 
' specifies the time of day that the task starts and the 
' interval specifies what days the task is run.
Dim triggers
Set triggers = taskDefinition.Triggers

Dim trigger
Set trigger = triggers.Create(TriggerTypeDaily)

' Trigger variables that define when the trigger is active 
' and the time of day that the task is run. The format of 
' this time is YYYY-MM-DDTHH:MM:SS
Dim startTime, endTime

Dim time
startTime = "2006-05-02T08:00:00"  'Task runs at 8:00 AM
endTime = "2015-05-02T08:00:00"

WScript.Echo "startTime :" & startTime
WScript.Echo "endTime :" & endTime

trigger.StartBoundary = startTime
trigger.EndBoundary = endTime
trigger.DaysInterval = 1    'Task runs every day.
trigger.Id = "DailyTriggerId"
trigger.Enabled = True

' Set the task repetition pattern for the task.
' This will repeat the task 5 times.
Dim repetitionPattern
Set repetitionPattern = trigger.Repetition
repetitionPattern.Duration = "PT4M"
repetitionPattern.Interval = "PT1M"

'***********************************************************
' Create the action for the task to execute.

' Add an action to the task to run notepad.exe.
Dim Action
Set Action = taskDefinition.Actions.Create( ActionTypeExec )
Action.Path = "C:\Windows\System32\notepad.exe"

WScript.Echo "Task definition created. About to submit the task..."

'***********************************************************
' Register (create) the task.

call rootFolder.RegisterTaskDefinition( _
    "Test Daily Trigger", taskDefinition, 6, , , 3)

WScript.Echo "Task submitted."

použití plánovače úloh