Dateien innerhalb einer For-Schleife löschen per Batch-Datei
Hallo,
da ich hier in diesem Forum schon des öfteren auf Hilfreiche Antworten gestossen bin, stelle ich nun erstmals eine eigene Frage.
Die Situation ist folgende:
Ich muss innerhalb eines Ordners (D:\scanner\BKIT_D030\teste\)sämtliche Dateien, welche sich in den Unterordnern dieses Ordners befinden mit Hilfe einer Batch-Datei löschen. Allerdings sollen hierbei bestimmte Ordner ignoriert werden. Die Ordner, welche geleert werden sollen, habe ich in eine externe Text-Datei geschrieben, da man in einer Batch-Datei ja keine richtigen Arrays definieren kann.
Hier mein Lösungsansatz:
@echo off & setlocal EnableDelayedExpansion
set pfad1=D:\scanner\BKIT_D030\teste\%%i
for /f %%i in (D:\test\Verzeichnisliste.txt) do (
for /D %%i in (%pfad1%\*) do (
del /S /Q "%%i"
)
)
In der Verzeichnisliste.txt stehen die Ordnernamen, von den Ordnern, welche geleert werden sollen. Sie sieht in etwa so aus:
folder1
folder2
folder3
usw...
Die For-Schleife habe ich von einem anderen Programm-Teil kopiert, in dem ich die Unterordner der Unterordner lösche (nicht leere). Das hat da auch so weit geklappt. Allerdings weiss ich nicht, wie ich es realisieren kann, dass in der obigen For-Schleife die Dateien der Unterordner gelöscht werden.
Das Programm an sich ist noch ein wenig umfangreicher und auch so weit fertig. Nur an dieser Kleinigkeit hapert es noch.
Über eine Antwort würde ich mich sehr freuen und wenn ihr Fragen habt, werde ich das ganze gerne ein wenig näher erläutern.
da ich hier in diesem Forum schon des öfteren auf Hilfreiche Antworten gestossen bin, stelle ich nun erstmals eine eigene Frage.
Die Situation ist folgende:
Ich muss innerhalb eines Ordners (D:\scanner\BKIT_D030\teste\)sämtliche Dateien, welche sich in den Unterordnern dieses Ordners befinden mit Hilfe einer Batch-Datei löschen. Allerdings sollen hierbei bestimmte Ordner ignoriert werden. Die Ordner, welche geleert werden sollen, habe ich in eine externe Text-Datei geschrieben, da man in einer Batch-Datei ja keine richtigen Arrays definieren kann.
Hier mein Lösungsansatz:
@echo off & setlocal EnableDelayedExpansion
set pfad1=D:\scanner\BKIT_D030\teste\%%i
for /f %%i in (D:\test\Verzeichnisliste.txt) do (
for /D %%i in (%pfad1%\*) do (
del /S /Q "%%i"
)
)
In der Verzeichnisliste.txt stehen die Ordnernamen, von den Ordnern, welche geleert werden sollen. Sie sieht in etwa so aus:
folder1
folder2
folder3
usw...
Die For-Schleife habe ich von einem anderen Programm-Teil kopiert, in dem ich die Unterordner der Unterordner lösche (nicht leere). Das hat da auch so weit geklappt. Allerdings weiss ich nicht, wie ich es realisieren kann, dass in der obigen For-Schleife die Dateien der Unterordner gelöscht werden.
Das Programm an sich ist noch ein wenig umfangreicher und auch so weit fertig. Nur an dieser Kleinigkeit hapert es noch.
Über eine Antwort würde ich mich sehr freuen und wenn ihr Fragen habt, werde ich das ganze gerne ein wenig näher erläutern.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 127275
Url: https://administrator.de/forum/dateien-innerhalb-einer-for-schleife-loeschen-per-batch-datei-127275.html
Ausgedruckt am: 30.04.2025 um 13:04 Uhr
1 Kommentar