nocheinnoobmehr
Goto Top

Dateien löschen mit Schleife

Moinsen,
vorab ein fröhliches "Hallo" zu meinem ersten Post. Ihr habt mir schon gefühlt millionenfach geholfen, weshalb eine Registrierung nicht notwendig war. :/
Nun stehe ich aber vor einem Problem, wo ich mit der Suche nicht weiter komme:

Ein (Test-)Script läuft prima, aber zum Ende hin möchte ich 5 Dateien (1.tmp 2.tmp 3.tmp 4.tmp 5.tmp) löschen um aufzuräumen.
Erstellen der tmp wie folgt:
for /l %%i in (1,1,5) do (echo text>>%%i.tmp)
"Aufräumen" dann so:
set pfad="c:\test-tmp\"  
for %%i in (1,1,5) do (del %pfad%%%i.tmp)

Es werden natürlich die 5 Dateien erzeugt, aber es werden nur 1.tmp und 5.tmp gelöscht.
Ausgabe:
"c:\test-tmp\1.tmp konnte nicht gefunden werden
Drücken Sie eine beliebige Taste . . ."


Ich bin da etwas verwirrt...^^ Wieso ist das so?

Content-ID: 496750

Url: https://administrator.de/contentid/496750

Ausgedruckt am: 22.11.2024 um 07:11 Uhr

140913
Lösung 140913 20.09.2019 aktualisiert um 12:06:04 Uhr
Goto Top
set "pfad=c:\test-tmp"  
for /L %%i in (1,1,5) do (del "%pfad%\%%i.tmp")  
Ich bin da etwas verwirrt...^^ Wieso ist das so?
Du hast den falschen FOR-Schleifentyp (das /L vergessen) => for /? eintippen face-wink
FOR /L %Variable IN (Start,Schritt,Ende) DO Befehl [Parameter]
Btw. ein
del C:\test-tmp\?.tmp
würde hier auch reichen sofern das die einzigsten einstelligen Files dort im Verzeichnis sind.
Btw. wieso überhaupt noch Batch?

"Powershell" is the way you go today
remove-item "C:\test-tmp\[1-5].tmp"
nocheinnoobmehr
nocheinnoobmehr 20.09.2019 um 12:56:09 Uhr
Goto Top
arrrg *vordenKopfklatsch* ...das ist mir jetzt schon ein wenig peinlich. Bin ja noob, aber der hätte mir schon auffallen müssen.
Ganz lieben Dank für die Lösung!

Btw#1.: Ein * würde doch auch gehen, aber es sind in dem eigentlichen Script einige Dateien und damit ich den Überblick behalte, wollte ich zur Sicherheit nur die genau definierten tmp-Dateien löschen.

Btw#2.: Puh, PS hab ich mal reingeschaut und finde ich auch supergut, aber für meine Arbeit und mein Wissen ist eine Batch gerade gut genug. Ich komme eher aus der Generation "8bit".^^

Nochmals vielen Dank und sorry für den ersten peinlichen Auftritt. :/
140913
140913 20.09.2019 aktualisiert um 13:14:03 Uhr
Goto Top
Ich komme eher aus der Generation "8bit"
Mit 8 bit wird einem ja gerade mal lau warm face-big-smile