Wie zählt man mittels batch-file Dateien in Verzeichnissen inkl Unterverzeichnissen die ÄLTER als zb. 6 Monate bzw 180 tage sind
hallo,
erst seit kurzem beschäfzige ich mit batch und stehe jetzt vor der frage wie ich in 200 verzeichnissen und 50000 dateien die files zählen kann, die älter als ein halbes Jahr sind.
Löschen mit delage wie ich es hier oft gelesen habe möchte ich nicht... nur zählen....
vorab danke für die hilfe
hie mal rein Auszug, was ich bisher gemacht hab... funtioniert auch soweit...
set /A filecnt=0
set /A textfilecnt=0
set /A dircnt=0
set /A oldfilescnt=0
for /F %%i in ('dir "c:\seib\quelldat" /B/S /A-d') do set /A filecnt=filecnt+1
for /F %%i in ('dir "c:\seib\quelldat" /B /Ad') do set /A dircnt=dircnt+1
for /f %%i in ('dir "C:\seib\quelldat" /B/S ^2^>nul^|find /C /I ".txt"') do set /a textfilecnt+=%%i
echo %DATE:~-4%%DATE:~-10,2%%DATE:~-7,2%;%TIME%;folder=;%dircnt%;files=;%filecnt%;textfiles=;%textfilecnt%;files älter als XXTage;%%oldfilescnt >>c:\seib\zieldata\output.txt
das Ergebnis ist ein logfile in dem nach jedem batchlauf ein zeile mit Zeitstempel, anzahl allervorhanden files, anzahl aller txt-files erzeugt wird
jetzt soll hier noch zusätzlich die anzahl aller dateien älter 6 Monate ausgegeben werden...
wer kann helfen?
erst seit kurzem beschäfzige ich mit batch und stehe jetzt vor der frage wie ich in 200 verzeichnissen und 50000 dateien die files zählen kann, die älter als ein halbes Jahr sind.
Löschen mit delage wie ich es hier oft gelesen habe möchte ich nicht... nur zählen....
vorab danke für die hilfe
hie mal rein Auszug, was ich bisher gemacht hab... funtioniert auch soweit...
set /A filecnt=0
set /A textfilecnt=0
set /A dircnt=0
set /A oldfilescnt=0
for /F %%i in ('dir "c:\seib\quelldat" /B/S /A-d') do set /A filecnt=filecnt+1
for /F %%i in ('dir "c:\seib\quelldat" /B /Ad') do set /A dircnt=dircnt+1
for /f %%i in ('dir "C:\seib\quelldat" /B/S ^2^>nul^|find /C /I ".txt"') do set /a textfilecnt+=%%i
echo %DATE:~-4%%DATE:~-10,2%%DATE:~-7,2%;%TIME%;folder=;%dircnt%;files=;%filecnt%;textfiles=;%textfilecnt%;files älter als XXTage;%%oldfilescnt >>c:\seib\zieldata\output.txt
das Ergebnis ist ein logfile in dem nach jedem batchlauf ein zeile mit Zeitstempel, anzahl allervorhanden files, anzahl aller txt-files erzeugt wird
jetzt soll hier noch zusätzlich die anzahl aller dateien älter 6 Monate ausgegeben werden...
wer kann helfen?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 179287
Url: https://administrator.de/forum/wie-zaehlt-man-mittels-batch-file-dateien-in-verzeichnissen-inkl-unterverzeichnissen-die-aelter-als-zb-6-179287.html
Ausgedruckt am: 21.04.2025 um 09:04 Uhr
6 Kommentare
Neuester Kommentar
Hallo bernd8183 und willkommen im Forum!

... hat auch einen Schalter "preview" zu bieten ...
... und ansonsten VBS.
Übrigens könnte
bzw
und
nicht nur (wegen der "Code"
besser lesbar, sondern auch performanter sein ...
... und da ich schon mal dabei bin: Ein immer wiederkehrender Bestandteil wie der Pfad "c:\seib\quelldat" schreit nach der Verwendung einer Variablen.
Grüße
bastla
wer kann helfen? 
delage ... hat auch einen Schalter "preview" zu bieten ...
... und ansonsten VBS.
Übrigens könnte
for /F %%i in ('dir "c:\seib\quelldat" /S/W^|findstr "Datei(en)" 2^>nul') do set /A filecnt=%%i
for /F %%i in ('dir "c:\seib\quelldat" /S/W^|findstr "Verzeichnis(se)," 2^>nul') do set /A dircnt=%%i
for /F %%i in ('dir "c:\seib\quelldat\*.txt" /S/W^|findstr "Datei(en)" 2^>nul') do set /A textfilecnt=%%i
... und da ich schon mal dabei bin: Ein immer wiederkehrender Bestandteil wie der Pfad "c:\seib\quelldat" schreit nach der Verwendung einer Variablen.
Grüße
bastla