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-Key: 210802

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

Printed on: April 23, 2024 at 12:04 o'clock

Mitglied: 86263
86263 Jul 07, 2013 at 09:17:36 (UTC)
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
Member: Alme123
Alme123 Jul 07, 2013 at 09:25:13 (UTC)
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
Member: bastla
bastla Jul 07, 2013 at 10:00:58 (UTC)
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
Member: Alme123
Alme123 Jul 07, 2013 at 10:15:52 (UTC)
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
Member: bastla
Solution bastla Jul 07, 2013, updated at Feb 12, 2014 at 13:46:11 (UTC)
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
Member: rubberman
rubberman Jul 07, 2013 updated at 10:39:39 (UTC)
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
Member: Alme123
Alme123 Jul 07, 2013 at 11:09:26 (UTC)
Goto Top
Hallo zusammen,

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

An alle: Danke!


Alme123

[Thead closed]