Geplanten Tasknamen mit Leerzeichen löschen

Geplanten Tasknamen mit Leerzeichen löschen

Ich möchte geplante Aufgaben löschen, die mit „Adobe Acrobat“ beginnen, z. B. „Adobe Acrobat 123“, „Adobe Acrobat 456“, „Adobe Acrobat 789“

schtasks /Delete /TN Adobe* /F

Dieser Befehl kann keine Aufgaben finden, da er buchstäblich nach dem Aufgabennamen „Adobe*“ sucht.

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

Dies funktioniert nur für Aufgabennamen ohne Leerzeichen. Beispielsweise wird nur der Aufgabenname gefunden, wenn er „AdobeAcorbat123“ lautet.

Wie kann ich alle geplanten Aufgaben löschen, deren Namen mit „Adobe“ beginnen und Leerzeichen enthalten?

Antwort1

Versuchen Sie stattdessen Folgendes:

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

DerSucheTeil verwendet Regex (reguläre Ausdrücke), um nur die Zeilen zu extrahieren, die die Zeichenfolgen "TaskName" und "Adobe" enthalten, aus der Ausgabe vonschtasks. Dies wird dann tokenisiert durch for /f(siehe for /?für mehr) und das zweite Token enthält den vollständigen Pfad zur Aufgabe (inklusive Leerzeichen) wird extrahiert und an einen anderenschtasksBefehl, der die besagte Aufgabe löscht.

verwandte Informationen