alme123
Goto Top

Dateien mit Zahlen heraussuchen per Batch

Hallo zusammen,

ich habe folgendes Problem:

Ich habe einige Dateien, deren Name NUR aus Zahlen besteht. Die Endung ist .exe und sie sind alle kleiner als 500 KB.
Diese Dateien befinden sich in einem riesigen Ordner (und deren Unterordnern).


Kann man per Batch realisieren, dass alle Dateien, die die obigen Merkmale enthalten, gelöscht werden?


Vielen Dank im Vorraus,

Alme123

Content-ID: 210802

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

Ausgedruckt am: 23.11.2024 um 02:11 Uhr

86263
86263 07.07.2013 um 11:17:36 Uhr
Goto Top
Hallo @Alme123,

vorausgesetzt es gibt keine anderen Dateien, die auch mit einer Ziffer anfangen aber nicht gelöscht werden sollen, wäre das hier eine wirklich sehr einfache und billige Lösung:
FOR /L %%i IN (0,1,9) DO del /s /q "%%i*.exe"  


Gruß,
DB
Alme123
Alme123 07.07.2013 um 11:25:13 Uhr
Goto Top
@xxdbxx

dein Script funktioniert gut, leider habe ich auch Ordner, die Leerzeichen in ihrem Namen haben.
Weißt du, wie dies funktionieren könnte?

Danke,

Alme123
bastla
bastla 07.07.2013 um 12:00:58 Uhr
Goto Top
Hallo Alme123!

Den Batch brauchst Du ja nur im/für den "riesigen" Ordner auszuführen, da ohnehin alle Unterordner verarbeitet werden ...

Grüße
bastla
Alme123
Alme123 07.07.2013 um 12:15:52 Uhr
Goto Top
Hallo zusammen,

Zitat von @Alme123:
Die Endung ist .exe und sie sind alle kleiner als 500 KB.

Sie sind kleiner als 500 KB und leider kann ich die BatchDatei nicht in dem Ordner starten.
Außerdem löscht @xxdbxx 's Script auch Dateien die aus Zahlen und Buchstaben bestehen.


Alme123
bastla
Lösung bastla 07.07.2013, aktualisiert am 12.02.2014 um 14:46:11 Uhr
Goto Top
Hallo Alme123!
leider kann ich die BatchDatei nicht in dem Ordner starten.
Das wäre durch
FOR /L %%i IN (0,1,9) DO del /s /q "D:\Riesiger Ordner\%%i*.exe"
zu lösen - für die weiteren Anforderungen braucht's dann aber doch etwas anderes:
for /f "delims=" %%i in ('dir /s/b/a-d "D:\Riesiger Ordner\*.exe"') do if %%~zi leq 512000 (echo %%~ni|findstr /x "[0-9]*" >nul && echo del "%%i")
Zum sicheren Testen steht vor dem "del" ein "echo", sodass die Löschbefehle vorerst nur angezeigt werden.

Grüße
bastla
rubberman
rubberman 07.07.2013 aktualisiert um 12:39:39 Uhr
Goto Top
Hallo Alme123,

Sie sind kleiner als 500 KB
Spielt das eine Rolle? Sollten Dateien >500KB (wenn es sie gäbe) nicht gelöscht werden?

Mein Ansatz:
@echo off &setlocal
pushd "C:\Pfad zu den Dateien"  
for /f "delims=" %%i in ('dir /a-d /b /s *.exe^|findstr /ei "\\[0-9][0-9]*\.exe"') do (  
  ECHO del "%%~i"  
)
popd
PAUSE

Schmeiß ECHO und PAUSE raus, wenn es funktionieren sollte.

Grüße
rubberman
Alme123
Alme123 07.07.2013 um 13:09:26 Uhr
Goto Top
Hallo zusammen,

@bastla 's Script funktioniert am besten und ist ja ein Einzeiler.

An alle: Danke!


Alme123

[Thead closed]