删除包含空格的计划任务名称

删除包含空格的计划任务名称

我想删除以“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 /?更多内容)对其进行标记,第二个标记包含该任务的完整路径(包括空格)被提取并传递给另一个调度任务删除该任务的命令。

相关内容