2

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

2

Попробуйте это вместо этого:

for /f "tokens=1*" %%a in ('schtasks /query /fo list ^| findstr /r "TaskName.*Adobe"') do schtasks /delete /tn "%%b" /f

Часть findstr использует регулярные выражения (регулярные выражения) для извлечения только строк, содержащих строки "TaskName" и "Adobe", из вывода schtasks. Это тогда токенизируется for /f (см. for /? для получения дополнительной информации), а второй токен, содержащий полный путь к задаче (включая пробелы), извлекается и передается другой команде schtasks, которая удаляет указанную задачу.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .