
Я хочу удалить запланированные задачи, начинающиеся с «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
Thefindstrчасть использует регулярные выражения (regex) для извлечения только строк, содержащих строки «TaskName» и «Adobe» из выводаschtasks. Затем он токенизируется for /f
(см. for /?
подробнее) и второй токен, содержащий полный путь к задаче (включая пробелы) извлекается и передается другомуschtasksкоманда, удаляющая указанную задачу.