Ordnerinhalt per Batch löschen - Komandos funktionieren, automatisiert aber nicht
Hallöchen wieder einmal,
ich möchte gerne per Scheduled Task den Inhlalt eines Ordners monatlich löschen (Unterordner und Files).
Nun habe ich zum Löschen der Ordner den Befehl
und zum Löschen der Files verwende ich
Händisch ausgeführt funktionieren diese Befehle einwandfrei.
Erstelle ich einen Scheduled Task, läuft dieser nicht.
Ich habe auch den Pfad in "Ausführen in" schon umgestellt, auf den Ordner wo das Batch-File liegt,
auf "C:\Documents and Settings\administrator" - funktioniert alles nicht.
Hat jemand eine Idee? Ich bin nun mit meinem Latein am Ende.
Danke und LG
Schlumpfinchen
ich möchte gerne per Scheduled Task den Inhlalt eines Ordners monatlich löschen (Unterordner und Files).
Nun habe ich zum Löschen der Ordner den Befehl
for /d %i in (meinPfad) do rd /s /q "%i"
und zum Löschen der Files verwende ich
del /F /Q meinPfad
Händisch ausgeführt funktionieren diese Befehle einwandfrei.
Erstelle ich einen Scheduled Task, läuft dieser nicht.
Ich habe auch den Pfad in "Ausführen in" schon umgestellt, auf den Ordner wo das Batch-File liegt,
auf "C:\Documents and Settings\administrator" - funktioniert alles nicht.
Hat jemand eine Idee? Ich bin nun mit meinem Latein am Ende.
Danke und LG
Schlumpfinchen
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 136367
Url: https://administrator.de/contentid/136367
Ausgedruckt am: 23.11.2024 um 03:11 Uhr
6 Kommentare
Neuester Kommentar
Zitat von @schlumpfinchen:
Nun habe ich zum Löschen der Ordner den Befehl
for /d %i in (meinPfad) do rd /s /q "%i"
Nun habe ich zum Löschen der Ordner den Befehl
for /d %i in (meinPfad) do rd /s /q "%i"
for-Schleifen haben in batch-Abläufen eine geringfügig veränderte Syntax, du brauchst doppelte Prozentzeichen vor den Schleifenvariablen, also
for /d %%i in (meinPfad) do rd /s /q "%%i"
wie ich schon sagte gilt die veränderte Syntax NUR in Batch-abläufen. siehe hierzu auch die Hilfe des for-Befehls:
Grund hierfür ist, dass der Batch-Interpreter eine Variable mit nur einem % sofort gegen den Wert ersetzt, wohingegen das in der FOR-Schleife zu Fehlern führt. Mit %% wird das ganze Richtig interpretiert
Gruß
Snow
Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.
U:\>for /?
Runs a specified command for each file in a set of files.
[[...]]
To use the FOR command in a batch program, specify %%variable instead
of %variable. Variable names are case sensitive, so %i is different
from %I.
[[...]]
Grund hierfür ist, dass der Batch-Interpreter eine Variable mit nur einem % sofort gegen den Wert ersetzt, wohingegen das in der FOR-Schleife zu Fehlern führt. Mit %% wird das ganze Richtig interpretiert
Gruß
Snow