Excluir nome da tarefa agendada contendo espaço

Excluir nome da tarefa agendada contendo espaço

Quero excluir tarefas agendadas que começam com "Adobe Acrobat", por exemplo, "Adobe Acrobat 123","Adobe Acrobat 456","Adobe Acrobat 789"

schtasks /Delete /TN Adobe* /F

Este comando não consegue encontrar nenhuma tarefa porque está literalmente procurando pelo nome da tarefa "Adobe*"

for /f %%x in ('schtasks /query ^| findstr Adobe') do schtasks /Delete /TN %%x /F

Isso funciona apenas para nomes de tarefas sem espaço, por exemplo, só encontra o nome da tarefa se for "AdobeAcorbat123"

Como posso excluir todos os nomes de tarefas agendadas começando com “Adobe” e contendo espaço?

Responder1

Em vez disso, tente isto:

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

Oencontrarstrparte usa regex (expressões regulares) para extrair apenas as linhas contendo as strings "TaskName" e "Adobe" da saída detarefas. Isso é então tokenizado por for /f(veja for /?para mais) e o segundo token contém o caminho completo para a tarefa (incluindo espaços) é extraído e passado para outrotarefascomando que exclui a referida tarefa.

informação relacionada