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
Please also mark the comments that contributed to the solution of the article
Content-Key: 229661
Url: https://administrator.de/contentid/229661
Printed on: May 4, 2024 at 08:05 o'clock
5 Comments
Latest comment
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