我有一个生成GUI的主要python脚本,通过该GUI,我希望用户能够创建,修改和删除由Windows任务调度程序管理的调度。
PyWin32为win32com.taskscheduler
中的任务调度程序提供了一个接口。你可以在这里看到它的一个例子:
同样@FredP链接到一个更简单的好例子:
wmi模块的食谱中还有一个关于调度作业的有趣信息,尽管它似乎没有使用任务调度程序:
此代码创建一个将在5分钟内运行的任务(使用pywin32):
import datetime
import win32com.client
scheduler = win32com.client.Dispatch('Schedule.Service')
scheduler.Connect()
root_folder = scheduler.GetFolder('\\')
task_def = scheduler.NewTask(0)
# Create trigger
start_time = datetime.datetime.now() + datetime.timedelta(minutes=5)
TASK_TRIGGER_TIME = 1
trigger = task_def.Triggers.Create(TASK_TRIGGER_TIME)
trigger.StartBoundary = start_time.isoformat()
# Create action
TASK_ACTION_EXEC = 0
action = task_def.Actions.Create(TASK_ACTION_EXEC)
action.ID = 'DO NOTHING'
action.Path = 'cmd.exe'
action.Arguments = '/c "exit"'
# Set parameters
task_def.RegistrationInfo.Description = 'Test Task'
task_def.Settings.Enabled = True
task_def.Settings.StopIfGoingOnBatteries = False
# Register task
# If task already exists, it will be updated
TASK_CREATE_OR_UPDATE = 6
TASK_LOGON_NONE = 0
root_folder.RegisterTaskDefinition(
'Test Task', # Task name
task_def,
TASK_CREATE_OR_UPDATE,
'', # No user
'', # No password
TASK_LOGON_NONE)
有关任务及其属性的更多信息,请访问:https://docs.microsoft.com/en-us/windows/desktop/taskschd/task-scheduler-objects