Batch - Ordner samt Inhalt aus Liste löschen
Hallo Ihr Lieben
Ich möchte gerne eine Batch schreiben, welche Dateien in Ordnern löschen soll.
Die Ordner erhält die Batch aus einer TXT Datei "beispiel.txt", welche dort die Ordner als absolute Pfade, eingeschlossen in Hochkommas und pro Zeilen getrennt enthält.
Also zum Beispiel:
"c:\Dokumente und Einstellungen\Ordner 1\"
"c:\Dokumente und Einstellungen\noch_ein_ordner\"
usw.
In der Batch selbst, habe ich versucht durch den u.g. Thread zu adaptieren:
for /f "tokens=1" %%i in ("h:\TEST\backup.txt") do call :loop1 %%i
:loop1
del %1
Jedoch sagt mir die Konsole:
C:\Dokumente konnte nicht gefunden werden
Wahrscheinlich nur ein kleines Problemchen für Euch. aber nach mehreren Recherchen habe ich nur diesen Thread gefunden, der mir wenigstens den Weg zeigte.
Für Eure Hilfe bin ich Euch dankbar!
Gruß Kuli
Ich möchte gerne eine Batch schreiben, welche Dateien in Ordnern löschen soll.
Die Ordner erhält die Batch aus einer TXT Datei "beispiel.txt", welche dort die Ordner als absolute Pfade, eingeschlossen in Hochkommas und pro Zeilen getrennt enthält.
Also zum Beispiel:
"c:\Dokumente und Einstellungen\Ordner 1\"
"c:\Dokumente und Einstellungen\noch_ein_ordner\"
usw.
In der Batch selbst, habe ich versucht durch den u.g. Thread zu adaptieren:
for /f "tokens=1" %%i in ("h:\TEST\backup.txt") do call :loop1 %%i
:loop1
del %1
Jedoch sagt mir die Konsole:
C:\Dokumente konnte nicht gefunden werden
Wahrscheinlich nur ein kleines Problemchen für Euch. aber nach mehreren Recherchen habe ich nur diesen Thread gefunden, der mir wenigstens den Weg zeigte.
Für Eure Hilfe bin ich Euch dankbar!
Gruß Kuli
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Kommentar vom Moderator Biber am 17.05.2010 um 12:41:04 Uhr
Beitrag verschoben von "Tools & Utilities" nach "Batch & Shell".
Content-ID: 142945
Url: https://administrator.de/contentid/142945
Ausgedruckt am: 24.11.2024 um 20:11 Uhr
7 Kommentare
Neuester Kommentar
Hallo kugelschreiber!
Falls nur gelöscht werden soll, ist das Unterprogramm gar nicht nötig.
Wenn Du den Dateinamen der Textdatei unter Anführungszeichen stellst, wird dieser als Text interpretiert - damit dies nicht geschieht, noch ein "
Um auch noch die Zerlegung anhand der Leezeichen im gelesenen Dateinamen zu vermeiden, per "
Daher sollte es so funktionieren:
Grüße
bastla
Falls nur gelöscht werden soll, ist das Unterprogramm gar nicht nötig.
Wenn Du den Dateinamen der Textdatei unter Anführungszeichen stellst, wird dieser als Text interpretiert - damit dies nicht geschieht, noch ein "
usebackq
" verwenden.Um auch noch die Zerlegung anhand der Leezeichen im gelesenen Dateinamen zu vermeiden, per "
delims=
" festlegen, dass es kein Trennzeichen gibt und daher die Zeile am Stück als %%i
zur Verfügung stehen soll.Daher sollte es so funktionieren:
for /f "usebackq delims=" %%i in ("h:\TEST\backup.txt") do del %%i
bastla
Zitat von @bastla:
Daher sollte es so funktionieren:
Hallo bastla,Daher sollte es so funktionieren:
for /f "usebackq delims=" %%i in ("h:\TEST\backup.txt") do del %%i
>
wenn es um die von Kugelschreiber genannten Beispiele
"c:\Dokumente und Einstellungen\Ordner 1\"
geht, sollte man aber besser Del "%%i"
nehmen.@kugelschreiber, um die Abfrage zu verhindern, nimm die Option /Q hinzu (ggfs auch noch /F und /A)
Gruß
LotPings
Hallo kugelschreiber und LotPings!
Grüße
bastla
1) Ich kannte die Option /q, die besagt, dass ich das Löschen nicht bestätigen muss, aber was ist dann /Q oder ist gross klein egal bei Schaltern?
Macht in Batch grundsätzlich keinen Unterschied ...2) sollte man besser Del "%ii" nehmen -> Hatte er doch oder habe ich Tomaten auf den augen?
Unter der Voraussetzung, dass die Aussageals absolute Pfade, eingeschlossen in Hochkommas und pro Zeilen getrennt
so, wie in den beiden Beispielzeilen oben dargestellt, gemeint ist, sind die Anführungszeichen um %%i
herum nicht nötig (die Schreibweise mit 2 * "%" und 1 x "i" allerdings doch ) ...Grüße
bastla
Zitat von @bastla:
als absolute Pfade, eingeschlossen in Hochkommas und pro Zeilen getrennt
so, wie in den beiden Beispielzeilen oben dargestellt, gemeint istt, sind die Anführungszeichen um
nötig (die Schreibweise mit 2 * "%" und 1 x "i" allerdings doch ) ...
als absolute Pfade, eingeschlossen in Hochkommas und pro Zeilen getrennt
so, wie in den beiden Beispielzeilen oben dargestellt, gemeint istt, sind die Anführungszeichen um
%%i
herum nichtnötig (die Schreibweise mit 2 * "%" und 1 x "i" allerdings doch ) ...
OK, ok - einigen wir uns auf "%%~i" dann funktioniert es in jedem Fall
Gruß