Seite 1 von 1

Batch funktioniert nicht

Verfasst: 03.06.2019, 10:47
von Fuchs
Hallo,

Ich stehe momentan etwas auf dem Schlauch. Ich habe folgende Batch geschrieben:

----------------------------------------------------------
@echo off
del /s /q r:\temp\temp\*.*
for /D %f in (r:\temp\temp\*) do rmdir /s /q %f
exit

-----------------------------------------------------------

Während die erste Zeile anstandslos funktioniert, wird die zweite Zeile nicht ausgeführt. Wenn ich in der Kommandozeile die zweite Zeile ausführe, funktioniert sie einwandfrei.

Was mache ich in der Batch falsch?

Viele Grüße
Fuchs

Re: Batch funktioniert nicht

Verfasst: 03.06.2019, 11:33
von Ben
In einer Batch Datei muss man das % Zeichen zweimal schreiben, während es bei direkt Eingabe in die Eingabeaufforderung nur einmal geschrieben werden muss.

Code: Alles auswählen

@echo off
del /s /q r:\temp\temp\*.*
for /D %%f in (r:\temp\temp\*) do rmdir /s /q %%f 
exit

Re: Batch funktioniert nicht

Verfasst: 03.06.2019, 11:51
von areiland
Abgesehen davon kann man das auch etwas einfacher und sicherer haben:

Code: Alles auswählen

@Echo off
chcp 1252 >nul
md c:\leer
robocopy c:\leer r:\temp\temp /mir
rd /s /q C:\leer
Dieser Batch macht exakt das gleiche, nämlich den kompletten Inhalt des Ordners "R:\Temp\Temp", einschliesslich der Unterverzeichnisse, zu löschen. Nur bediene ich mich hier an Robocopy und seinem Parameter "/mir", mit dem ich den selbst erstellten leeren Ordner "C:\Leer" einfach in den Ordner "R:\Temp\Temp" mergen lasse und "C:\Leer" anschliessend wieder lösche. Der Vorteil dabei ist, gesperrte (weil in Benutzung befindliche) Dateien werden einfach übergangen und führen nicht zu Fehlermeldungen.

Re: Batch funktioniert nicht

Verfasst: 03.06.2019, 12:59
von Peter+
Hallo Ben, Alex,

Vielen herzlichen Dank! Beide Versionen funktionieren prima. Ich habe mich für die Version von Alex entschieden, da ich sie phänomenal finde. Zeit für mich, mal RoboCopy richtig zu lernen.

Viele Grüße
Peter+ (Fuchs)