import win32com.client import re taskname_patt = re.compile(r'<Command>(.+?)</Command>') execution_patt = re.compile(r'<Arguments>(.+?)</Arguments>') title_patt = re.compile(r'<URI>(.+?)</URI>') TASK_ENUM_HIDDEN = 1 TASK_STATE = {0: 'Unknown', 1: 'Disabled', 2: 'Queued', 3: 'Ready', 4: 'Running'} scheduler = win32com.client.Dispatch('Schedule.Service') scheduler.Connect() n = 0 folders = [scheduler.GetFolder('\\')] while folders: folder = folders.pop(0) folders += list(folder.GetFolders(0)) tasks = list(folder.GetTasks(TASK_ENUM_HIDDEN)) n += len(tasks) for task in tasks: try: xmlstring = task.xml title = title_patt.findall(xmlstring) taskname = taskname_patt.findall(xmlstring) execution = execution_patt.findall(xmlstring) print(title[0], taskname[0], execution[0]) print('=========================') except: pass print('=========================')