zunaras
Goto Top

Anzahl Dateien in allen Unterordnern prüfen und bis auf die jüngsten löschen

Schönen guten Tag!

ich habe hier folgenden Code gefunden, der meine Wünsche fast erfüllt.

@echo off & setlocal
set "Ordner=D:\Backup"  
set Anzahl=20

for /f "skip=%Anzahl% delims=" %%i in ('dir /b /a-d /o-d "%Ordner%"') do echo del "%Ordner%\%%i"  

Im Tutorial zur FOR-Schleife und auch in anderen Scripten konnte ich keine Lösung finden.
Und zwar möchte ich, ausgehend von %Ordner%, in allen darin befindlichen Unterordnern die Anzahl der Dateien prüfen und alle, bis auf die jüngsten 20 des jeweiligen Ordners, löschen.
Wäre das machbar? Bzw. könnte mir jemand dabei helfen?


Viele Grüße
Zunaras

Content-Key: 348846

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

Printed on: April 20, 2024 at 00:04 o'clock

Mitglied: 133883
Solution 133883 Sep 12, 2017 updated at 08:03:14 (UTC)
Goto Top
@echo off & setlocal
set "Ordner=D:\Backup"  
set Anzahl=20
For /d %%a in ("%Ordner%\*") do (  
for /f "skip=%Anzahl% delims=" %%i in ('dir /b /a-d /o-d "%%a"') do del "%%a\%%i"  
)
Gruß
Member: Zunaras
Zunaras Sep 12, 2017 at 08:41:21 (UTC)
Goto Top
Hallo,

Vielen Dank für die schnelle Hilfe! Das ist die Lösung!

Aber jetzt doch noch eine Frage, für den Fall dass......
Ist es möglich jetzt noch tiefer zu gehen? Also die Unterordner der Unterordner usw.

Viele Grüße
Mitglied: 133883
Solution 133883 Sep 12, 2017 at 09:05:59 (UTC)
Goto Top
Logisch
@echo off & setlocal
set "Ordner=D:\Backup"  
set Anzahl=20
For /f "delims=" %%a in ('dir /b /s /ad "%Ordner%"') do (  
for /f "skip=%Anzahl% delims=" %%i in ('dir /b /a-d /o-d "%%a"') do del "%%a\%%i"  
)
Member: Zunaras
Zunaras Sep 12, 2017 at 09:28:18 (UTC)
Goto Top
Vielen lieben Dank!

Grüße