Eliminar el nombre de la tarea programada que contiene espacio

Eliminar el nombre de la tarea programada que contiene espacio

Quiero eliminar tareas programadas que comienzan con "Adobe Acrobat", por ejemplo, "Adobe Acrobat 123", "Adobe Acrobat 456", "Adobe Acrobat 789".

schtasks /Delete /TN Adobe* /F

Este comando no encuentra ninguna tarea porque literalmente busca el nombre de la tarea "Adobe*"

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

Esto funciona sólo para nombres de tareas sin espacio, por ejemplo, sólo encuentra el nombre de tarea si es "AdobeAcorbat123".

¿Cómo puedo eliminar todos los nombres de tareas programadas que comienzan con "Adobe" y contienen espacio?

Respuesta1

Pruebe esto en su lugar:

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

Elencontrartrparte utiliza expresiones regulares (expresiones regulares) para extraer solo las líneas que contienen las cadenas "TaskName" y "Adobe" de la salida detareas. Luego, esto se tokeniza mediante for /f(consulte for /?para obtener más información) y el segundo token que contiene la ruta completa a la tarea (incluyendo espacios) se extrae y se pasa a otrotareascomando que elimina dicha tarea.

información relacionada