Ordner Löschen per Batch?

Scoty

Banned
Registriert
Aug. 2001
Beiträge
2.122
Ich will in mehreren Ordner denn Unterordner Sample löschen inkl deren Inhalt. Dazu habe ich folgenden Befehl probiert nur das geht leider nicht denn der Ordner so wie dessen Inhalt bleibt vorhanden.

@echo off
echo Alle nfo, jpg, sample und txt werden gelöscht"
del /s /q G:\*.nfo G:\*.url G:\*.jpg G:\*.srr G:\*.sfv
deltree /y Sample

Das ganze sieht in etwa so aus: Ordner/Sample und es soll eben nur der Ordner Sample inkl deren Inhalt gelöscht werden aber der Überordner soll bleiben mit dessen Inhalt. Der erste Batch über deltree funktioniert super nur deltree will nicht laufen.
 
deltree gibt es seit Win98 nicht mehr. Da du den Inhalt der Ordner schon mit der dritten Zeile löschst, kann der Ordner mit "rd pfad\sample" gelöscht werden.
 
Zuletzt bearbeitet: (Korrektur)
Evtl. hilft Dir dieses Powershell-Skript weiter? Einfach Windows PowerShell ISE als Admin öffnen, Skript reinkopieren und loslegen.
Ggf. testet Du das vorher noch mal im kleinen Rahmen falls Du Dir unsicher bist.

$source="c:"
$strings=@("Sample")

cd ($source); get-childitem -Include ($strings) -Recurse -force | Remove-Item -Force –Recurse

Gruß,
Marc
 
Oder deltree ersetzen mit: for /d %%a in ("G:\*\Sample") do rd /s "%%a"

Aber auch erst mal an einigen Testordnern ausführen.
 
Nach ein wenig herumprobieren, habe ich das geschrieben:

Code:
@echo off
del /s /q G:\*.nfo G:\*.url G:\*.jpg G:\*.srr G:\*.sfv
for /r g: %%a in (Sample) do rmdir /s /q %%a

Das hat bei mir funktioniert, wenn ich die Batch-Datei in G:\ gestartet habe.
 
Holgip schrieb:
Nach ein wenig herumprobieren, habe ich das geschrieben:

Code:
@echo off
del /s /q G:\*.nfo G:\*.url G:\*.jpg G:\*.srr G:\*.sfv
for /r g: %%a in (Sample) do rmdir /s /q %%a

Das hat bei mir funktioniert, wenn ich die Batch-Datei in G:\ gestartet habe.

Habe es bei mir getestet aber Sample wird nicht gelöscht. Sehr merkwürdig.
 
Habe es gerade nochmal ausprobiert: 3 Ordner mit "Sample" Unterordner in G:\ erstellt und das Batch laufen lassen. Die Ordner werden gelöscht.
Vielleicht verrätst du mal, wie die Ordnerstruktur bei dir aussieht? Sie ist vielleicht ganz anders und man muss die Zeile noch anpassen.
 
Also:
G:\ordner1\ordner1\Sample
G:\ordner2\ordner2\Sample
etc.

Das funktioniert bei mir mit dem Batch einwandfrei. Die Sample-Ordner werden gelöscht. Keine Ahnung, was da bei dir nicht richtig funktioniert.
Startest du den Batch in G:\?
Das nächste Mal, bitte den Laufwerksbuchstaben, also den kompletten Pfad angeben, denn die Batchdatei ist bei mir auf G:\*.* ausgelegt.
Kannst mal in der Batchdatei das @echo off auskommentieren und ganz hinten eine Pause einfügen. Dann kannst du sehen, was es macht.
 
Zuletzt bearbeitet:
Das kommt dabei heraus:

G:\Serien>for /R g: %a in (Sample) do rmdir /s /q %a

G:\Serien>rmdir /s /q G:\Order1\Sample
Das System kann die angegebene Datei nicht finden.

G:\Serien>rmdir /s /q G:\Ordner2\Ordner2\Sample
Das System kann die angegebene Datei nicht finden.
Das System kann die angegebene Datei nicht finden.
Das System kann den angegebenen Pfad nicht finden.


Ja führe es auf G natürlich aus.

Das ein Ordner aber da ist sieht man ja.
2017-04-14_053022.png
 
Komisch, bei mir funktioniert es einwandfrei auf mehreren Rechnern.
Vielleicht muss da mal jemand anderes ran. Ich habe jedenfalls keine Idee mehr.

So, habe es nochmal mit den Ordnernamen die du verwendest probiert: Funktioniert.
Hier das Ergebnis:
Unbenannt.PNG
 
Zuletzt bearbeitet:
Zurück
Oben