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-ID: 348846

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

Ausgedruckt am: 19.11.2024 um 13:11 Uhr

133883
Lösung 133883 12.09.2017 aktualisiert um 10:03:14 Uhr
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ß
Zunaras
Zunaras 12.09.2017 um 10:41:21 Uhr
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
133883
Lösung 133883 12.09.2017 um 11:05:59 Uhr
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"  
)
Zunaras
Zunaras 12.09.2017 um 11:28:18 Uhr
Goto Top
Vielen lieben Dank!

Grüße