我想删除以“Adobe Acrobat”开头的计划任务,例如“Adobe Acrobat 123”、“Adobe Acrobat 456”、“Adobe Acrobat 789”
schtasks /Delete /TN Adobe* /F
此命令无法找到任何任务,因为它实际上是在搜索任务名称“Adobe*”
for /f %%x in ('schtasks /query ^| findstr Adobe') do schtasks /Delete /TN %%x /F
这仅适用于没有空格的任务名称,例如,仅查找任务名称为“AdobeAcorbat123”
如何删除所有以“Adobe”开头且包含空格的计划任务名称?
答案1
尝试一下这个:
for /f "tokens=1*" %%a in ('schtasks /query /fo list ^| findstr /r "TaskName.*Adobe"') do schtasks /delete /tn "%%b" /f
这查找字符串部分使用正则表达式(正则表达式)从输出中仅提取包含字符串“TaskName”和“Adobe”的行调度任务。然后通过for /f
(查看for /?
更多内容)对其进行标记,第二个标记包含该任务的完整路径(包括空格)被提取并传递给另一个调度任务删除该任务的命令。