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

Printed on: April 16, 2024 at 15:04 o'clock

Mitglied: 137846
137846 Jan 16, 2019 updated at 11:54:57 (UTC)
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.
Member: tommhii
tommhii Jan 16, 2019 at 11:37:45 (UTC)
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 Jan 16, 2019 at 14:23:50 (UTC)
Goto Top
Kleine Korrektur.
Member: tommhii
tommhii Jan 16, 2019 at 15:44:06 (UTC)
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
Solution 137846 Jan 16, 2019 updated at 16:01:43 (UTC)
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 Jan 17, 2019 updated at 09:17:05 (UTC)
Goto Top
Dann bitte auch How can I mark a post as solved? nicht vergessen.
Mitglied: 77559
Solution 77559 Jan 17, 2019 at 23:50:07 (UTC)
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
Member: tommhii
tommhii Jan 18, 2019 at 10:13:42 (UTC)
Goto Top
Danke für die schnelle Hilfe hat mir sehr geholfen.

VG
Tommhi