【问题标题】:Filter list of scheduled tasks that contain specific string in Task To Run在要运行的任务中过滤包含特定字符串的计划任务列表
【发布时间】:2025-12-15 12:25:01
【问题描述】:

实际上我需要删除任何包含某些特定字符串的任务。

我使用schtasks /query /v /fo list 列出所有任务并使用schtasks /delete /tn XX /f 删除特定任务。

现在列出所有任务后,我必须使用 Ctrl + F 查找字符串并手动复制粘贴。

是否可以在要运行的任务中仅显示包含特定字符串的任务名称?甚至我可以一次删除所有相关任务。

谢谢。

【问题讨论】:

    标签: cmd scheduled-tasks


    【解决方案1】:
    Set TS = CreateObject("Schedule.Service")
    TS.Connect("DESKTOP-UCDGI39")
    
    Set rootFolder = TS.GetFolder("\")
    
    Set tasks = rootFolder.GetTasks(0)
    
    If tasks.Count = 0 Then 
        Wscript.Echo "No tasks are registered."
    Else
        WScript.Echo "Number of tasks registered: " & tasks.Count
    
        For Each Task In Tasks
        A=Task.Name
        A = A & " " & Task.NextRunTime
        wscript.echo A
        Next
    End If
    

    更多信息和示例代码https://docs.microsoft.com/en-us/windows/win32/taskschd/displaying-task-names-and-state--scripting-

    【讨论】:

    • 看起来就像你得到的一切。
    • 没有。它应该像 Get-ScheduledTask -TaskPath * | Where{ $_.Actions.Execute -like '*Blabla.exe'}
    最近更新 更多