Удалить запланированную задачу с именем, содержащим пробел

Удалить запланированную задачу с именем, содержащим пробел

Я хочу удалить запланированные задачи, начинающиеся с «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команда, удаляющая указанную задачу.

Связанный контент