2 votes

Supprimer la tâche planifiée contenant un espace

Je veux supprimer les tâches planifiées qui commencent par "Adobe Acrobat" par exemple "Adobe Acrobat 123","Adobe Acrobat 456","Adobe Acrobat 789"

schtasks /Delete /TN Adobe* /F

Cette commande ne parvient pas à trouver de tâches car elle recherche littéralement le nom de tâche "Adobe*"

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

Ceci fonctionne uniquement pour les noms de tâches sans espace, par exemple ne trouve le nom de tâche que s'il est "AdobeAcorbat123"

Comment puis-je supprimer tous les noms de tâches planifiées commençant par "Adobe" et contenant un espace ?

2voto

Karan Points 54603

Essayez ceci à la place :

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

La partie findstr utilise des expressions régulières (regex) pour extraire uniquement les lignes contenant les chaînes "TaskName" et "Adobe" à partir de la sortie de schtasks. Ensuite, cette sortie est tokenisée par for /f (voir for /? pour plus d'informations) et le deuxième token contenant le chemin complet de la tâche (y compris les espaces) est extrait et passé à une autre commande schtasks qui supprime ladite tâche.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X