tommhii
Goto Top

Nur Dateien mit aktuellen Datum zählen

Hallo

ich hab eine Frage. Ich möchte in einen Verzeichnis , wo sich verschiedene Dateien befinden mit unterschiedlichen Datum und Dateinamen nur die Dateien mit dem aktuellen Datum zählen.
Das möchte ich über einen batch realisieren um einen Überblick zu bekommen wieviel Dateien am Tag dazu kommen. Im Dateinamen ist keinen Datumsangabe.
Kann mir jemand helfen das zu realisieren.

VG
Tommhi

Content-Key: 398374

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

Ausgedruckt am: 19.03.2024 um 10:03 Uhr

Mitglied: 137846
137846 16.01.2019 aktualisiert um 12:54:57 Uhr
Goto Top
Das gabs hier doch schon x mal face-confused.
Was bedeutet für dich "aktuellen Datum", das kann hier viel bedeuten ...?!
FORFILES /P "D:\logs" /M *.* /D +0 /C "cmd /c ECHO @file" | findstr . | find "" /v /c  
Oder als PS
(gci 'd:\logs' -File | ?{$_.LastWriteTime -ge (get-date).Date}).Count  

Das nächste mal bitte wieder die Suche benutzen, Danke.

Gruß A.
Mitglied: tommhii
tommhii 16.01.2019 um 12:37:45 Uhr
Goto Top
Danke erstmal hab die Batch zeile getestet aber hier zählt er eine Datei mehr als heute gekommen sind.

mit dem aktuellen Datum ist das Datum gemeint was gerade an dem Tag ist. Anders gesagt ich will das jeden Tag testen um zu sehen wieviel Dateien an dem Tag dazu gekommen sind.

VG
Tommhii
Mitglied: 137846
137846 16.01.2019 um 15:23:50 Uhr
Goto Top
Kleine Korrektur.
Mitglied: tommhii
tommhii 16.01.2019 um 16:44:06 Uhr
Goto Top
super jetzt passt es. Danke

wenn ich das Ergebnis in eine Datei umleiten möchte geb ich das am Schluss der Zeile an ?

VG
Tommhi
Mitglied: 137846
Lösung 137846 16.01.2019 aktualisiert um 17:01:43 Uhr
Goto Top
Jepp oder du weist es per For-Schleife einer Variablen zu dann brachst du das nicht erst in einen Datei umleiten, falls du damit weiterarbeiten willst
for /f "delims=" %%a in ('FORFILES /P "D:\logs" /M *.* /D +0 /C "cmd /c ECHO @file" ^| findstr . ^| find "" /v /c') do set filecount=%%a  
echo Anzahl an Dateien des heutigen Tages: %filecount%
Mitglied: 137846
137846 17.01.2019 aktualisiert um 10:17:05 Uhr
Goto Top
Mitglied: 77559
Lösung 77559 18.01.2019 um 00:50:07 Uhr
Goto Top
Ich würde ja vorschlagen einen PowerShell Einzeiler zu nehmen,

  • das in einem Verzeichnis/Baum alle Datein nach Tagen gruppiert (mit -Noelement)
  • und die Anzahl mit Measure-Object auswertet.

Get-ChildItem -Recurse -File |  Group-Object {$_.LastWriteTime.Date} -NoElement

Ergebnis in meinem Test Verzeichnis diesen Jahres:

Count Name
----- ----
    8 2019-01-02 00:00:00
    6 2019-01-03 00:00:00
    6 2019-01-04 00:00:00
    4 2019-01-06 00:00:00
    3 2019-01-07 00:00:00
    1 2019-01-09 00:00:00
    9 2019-01-11 00:00:00
    8 2019-01-10 00:00:00
    1 2019-01-12 00:00:00
    3 2019-01-13 00:00:00
    3 2019-01-14 00:00:00
    6 2019-01-15 00:00:00
    5 2019-01-16 00:00:00
    9 2019-01-17 00:00:00

Get-ChildItem -Recurse -File | Group-Object {$_.LastWriteTime.Date} -NoElement |Measure-Object Count -Average -Maximum -Minimum -Sum

Count    : 14
Average  : 5,14285714285714
Sum      : 72
Maximum  : 9
Minimum  : 1
Property : Count

Also 72 Dateien an 14 unterschiedlichen Tagen mit durchschnittlich 5,14 Dateien pro Tag
Mitglied: tommhii
tommhii 18.01.2019 um 11:13:42 Uhr
Goto Top
Danke für die schnelle Hilfe hat mir sehr geholfen.

VG
Tommhi