Hippo 11 Geschrieben 29. Juni 2015 Melden Geschrieben 29. Juni 2015 Hallo, ich möchte in einem Ordner alle Ordner, außer den neusten 10, automatisch löschen. Folgender Befehl funktioniert, wenn ich ihn direkt in der cmd-shell (Server 2008 R2) ausführe. for /f %i in ('dir /ad /o-d /b X:\Pfadangabe ^|more +10') do rd /s /q "X:\Pfadangabe\%i" Lasse ich den Befehl in einer Batchdatei laufen, erhalte ich folgende Fehlermeldung "|more" kann syntaktisch an dieser Stelle nicht verarbeitet werden." Wie muss ich den |more Befehl innerhalb einer Batchdatei aufrufen, damit der Syntaxfehler nicht mehr auftaucht.
Hippo 11 Geschrieben 29. Juni 2015 Autor Melden Geschrieben 29. Juni 2015 Ich könnte es auch manuell machen, ist aber auch keine Lösung. Es müsste ja auch mit einer Batch gehen. Auch ohne Powershell gelöst :D Es war ein fehlendes % vor dem i.
Nobbyaushb 1.581 Geschrieben 29. Juni 2015 Melden Geschrieben 29. Juni 2015 Moin, Anmerkung am Rande - das geht dann aber nur, wenn ein User angemeldet ist. Willst du das in einem Taskplaner laufen lassen, musst du UNC-Pfade verwenden, und der Task / Maschine muss die nötigen Rechte haben. ;)
daabm 1.431 Geschrieben 29. Juni 2015 Melden Geschrieben 29. Juni 2015 for /f %i in ('dir /ad /o-d /b X:\Pfadangabe ^|more +10') do rd /s /q "X:\Pfadangabe\%i"[/code] Lasse ich den Befehl in einer Batchdatei laufen, erhalte ich folgende Fehlermeldung "|more" kann syntaktisch an dieser Stelle nicht verarbeitet werden." Wie muss ich den |more Befehl innerhalb einer Batchdatei aufrufen, damit der Syntaxfehler nicht mehr auftaucht. In einem Batch mußt Du %%i statt %i verwenden.
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde dich hier an.
Jetzt anmelden