Per Batch alle Dateien mit einem bestimmten String löschen
Hallo!
Ich habe ein Problem. Ich habe einen Ordner mit 300.000 .MAI Dateien. Von diesen Dateien sollen ca 290.000 gelöscht werden. Und zwar alle die einen bestimmten String enthalten!
Wie bekomme ich das per Windows-cmd-Befehl hin?
Habe schon diesen Befehl probiert, aber da passiert einfach nur gar nichts...
for /f "tokens=1 delims=:" %I in ('findstr SOMEstring *MAI') do @del %I
Viele Grüße
Maikell
Ich habe ein Problem. Ich habe einen Ordner mit 300.000 .MAI Dateien. Von diesen Dateien sollen ca 290.000 gelöscht werden. Und zwar alle die einen bestimmten String enthalten!
Wie bekomme ich das per Windows-cmd-Befehl hin?
Habe schon diesen Befehl probiert, aber da passiert einfach nur gar nichts...
for /f "tokens=1 delims=:" %I in ('findstr SOMEstring *MAI') do @del %I
Viele Grüße
Maikell
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 216892
Url: https://administrator.de/forum/per-batch-alle-dateien-mit-einem-bestimmten-string-loeschen-216892.html
Ausgedruckt am: 19.01.2025 um 17:01 Uhr
6 Kommentare
Neuester Kommentar
Hi,
muss es eine Batch sein oder kann man das auch mit VBA/VBS lösen ?
Grüße
Exze
muss es eine Batch sein oder kann man das auch mit VBA/VBS lösen ?
Grüße
Exze
Hiho,
Theoretisch müsste es in Batch doch einfacher gehen. Kann es leider grade nicht testen, aber per Wilcard "*" sollte das möglich sein.
müsste erfolg bringen oder ? ich weiß nicht mehr genau, wie die Wildcard in Batch war, sorry kann auch sein dass ich völlig daneben liege.
Grüße
Exze
Theoretisch müsste es in Batch doch einfacher gehen. Kann es leider grade nicht testen, aber per Wilcard "*" sollte das möglich sein.
del *[bestimmter String]*.*
Grüße
Exze
Moin Maikell84,
du warst schon relativ nah dran mit deinem Versuch
Du must nur noch die Option /M verwenden, die nur die Dateinamen mit Treffern zurückgibt.
Beispiel am CMD-Prompt:
Zweite Zeile ist die Rückgabe.
Zum Testen habe ich nur das "@echo del" statt dem echten Befehl "del" ausgeführt.
Und ich habe noch den Parameter /i (ignoriere Klein/Grossschreibung) reingenommen.
Wenn du deine 300000 *.MAI-Dateien testen willst, dann solltest du vielleicht nicht *.MAI nehmen, sondern einen etwas einschränkendere Wildcard (2010*.AMI oder wie die Namenskonventionen da halt sind.
Rein interessehalber: in welchem privaten oder auch Firmen-Umfeld kann denn unbemerkt ein Ordner mit 300000++ Dateien entstehen, ohne dass sich jemand darum kümmert??
Grüße
Biber
du warst schon relativ nah dran mit deinem Versuch
Du must nur noch die Option /M verwenden, die nur die Dateinamen mit Treffern zurückgibt.
Beispiel am CMD-Prompt:
>for /f "delims=" %i in ('findstr /i /M "Biber" "y:\eigene dateien\biber\*.txt"') do @echo del "%i"
del "y:\eigene dateien\biber\_dieGesuchte.txt"
Zweite Zeile ist die Rückgabe.
Zum Testen habe ich nur das "@echo del" statt dem echten Befehl "del" ausgeführt.
Und ich habe noch den Parameter /i (ignoriere Klein/Grossschreibung) reingenommen.
Wenn du deine 300000 *.MAI-Dateien testen willst, dann solltest du vielleicht nicht *.MAI nehmen, sondern einen etwas einschränkendere Wildcard (2010*.AMI oder wie die Namenskonventionen da halt sind.
Rein interessehalber: in welchem privaten oder auch Firmen-Umfeld kann denn unbemerkt ein Ordner mit 300000++ Dateien entstehen, ohne dass sich jemand darum kümmert??
Grüße
Biber