刪除排程任務名稱中包含空格的任務

刪除排程任務名稱中包含空格的任務

我想刪除以“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 /?更多資訊)和包含任務完整路徑的第二個標記(包括空格) 被提取並傳遞給另一個計劃任務刪除所述任務的命令。

相關內容