Bestimmte Ordner rekursiv per Batch löschen
Hallo zusammen,
ich habe folgendes Problem:
Eine Radiologie schickt Dateien und Verzeichnisse auf ein gemapptes Laufwerk.
Wir haben dort volle Berechtigung.
Die Ordnerstruktur sieht ungefähr wie folgt aus:
D:\Roentgen\Patientenname
D:\Roentgen\Patientenname\DICOM
D:\Roentgen\Patientenname\RES
D:\Roentgen\Patientenname\RES\ASIA
D:\Roentgen\Patientenname\RES\EUROPE
D:\Roentgen\Patientenname\RES\AUSTRALIA
D:\Roentgen\Patientenname\RES\BLABLA 1
D:\Roentgen\Patientenname\RES\BLABLA 2
D:\Roentgen\Patientenname\RES\MUMPITZ
D:\Roentgen\Patientenname\JRE
Ich muss jetzt eine Batchdatei erstellen die den Ordner "RES" rekursiv löschen kann.
Der oberste Ordner "Patienname" ändert sich natürlich regelmäßig so dass die Batchdatei automatisch alles unter dem Ordner "D:\ROENTGEN\" durchsuchen soll und dann jeweils unter jedem Unterordner des jeweiligen Patienten den Ordner RES samt Dateien löschen muss.
Ich habe es mit
for /f "tokens=*" %%i in ('dir /ad /s /b "d:\ir" ^|find "RES"') do rmdir /s /q %%i
versucht, allerdings findet er dabei auch den Suchstring RES im Ordner des Patientennamen wie zum Beispiel "Harald Ressch 13051943 007754"
Den Ordner löscht er dann leider auch.
ich muss den o.g. Befehl so angepasst haben, dass er nur nach "RES" sucht und dabei nicht die Verzeichnisse auswählt in denen der Begriff auch vor kommt.
Jemand einen Tipp dazu?
Gruß
TASKNET
ich habe folgendes Problem:
Eine Radiologie schickt Dateien und Verzeichnisse auf ein gemapptes Laufwerk.
Wir haben dort volle Berechtigung.
Die Ordnerstruktur sieht ungefähr wie folgt aus:
D:\Roentgen\Patientenname
D:\Roentgen\Patientenname\DICOM
D:\Roentgen\Patientenname\RES
D:\Roentgen\Patientenname\RES\ASIA
D:\Roentgen\Patientenname\RES\EUROPE
D:\Roentgen\Patientenname\RES\AUSTRALIA
D:\Roentgen\Patientenname\RES\BLABLA 1
D:\Roentgen\Patientenname\RES\BLABLA 2
D:\Roentgen\Patientenname\RES\MUMPITZ
D:\Roentgen\Patientenname\JRE
Ich muss jetzt eine Batchdatei erstellen die den Ordner "RES" rekursiv löschen kann.
Der oberste Ordner "Patienname" ändert sich natürlich regelmäßig so dass die Batchdatei automatisch alles unter dem Ordner "D:\ROENTGEN\" durchsuchen soll und dann jeweils unter jedem Unterordner des jeweiligen Patienten den Ordner RES samt Dateien löschen muss.
Ich habe es mit
for /f "tokens=*" %%i in ('dir /ad /s /b "d:\ir" ^|find "RES"') do rmdir /s /q %%i
versucht, allerdings findet er dabei auch den Suchstring RES im Ordner des Patientennamen wie zum Beispiel "Harald Ressch 13051943 007754"
Den Ordner löscht er dann leider auch.
ich muss den o.g. Befehl so angepasst haben, dass er nur nach "RES" sucht und dabei nicht die Verzeichnisse auswählt in denen der Begriff auch vor kommt.
Jemand einen Tipp dazu?
Gruß
TASKNET
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 229661
Url: https://administrator.de/contentid/229661
Ausgedruckt am: 22.11.2024 um 16:11 Uhr
5 Kommentare
Neuester Kommentar
Hallo TASKnet!
Wenn Du noch absichern möchtest, dass nur Ordner, aber keine Dateien mit dem Namen "RES" (dürften zwar eher selten sein, aber sicher ist sicher), gefunden werden, dann zusätzlich "
Grüße
bastla
Wenn Du noch absichern möchtest, dass nur Ordner, aber keine Dateien mit dem Namen "RES" (dürften zwar eher selten sein, aber sicher ist sicher), gefunden werden, dann zusätzlich "
/ad
" im "dir
", also:for /f "delims=" %%i in ('dir /s/b/ad D:\Roentgen\RES 2^>nul') do echo rd /s /q "%%i"
bastla