chris821
Goto Top

Get-ChildItem - LastWriteTime

Hallo,

Ich versuche mir ganz simple über folgenden Befehl die neueste Datei in einem Ordner anzeigen zu lassen.

Get-ChildItem -Path $souredir | Where-Object {$_.LastWriteTime} | select -last 1

Leider bekomme ich hier immer eine Datei aus dem Jahr 2021 angezeigt. Wenn ich das Verzeichnis auflisten lasse und die Ergebnisse Sortieren lasse, steht die heutige Datei immer in der richtigen Reihenfolge ganz oben.

Get-ChildItem -Path $souredir | Sort-Object -Property LastWriteTime -Descending
Warum findet er immer diese Uralte Datei?

Vielen Dank

Chris

Content-ID: 8663114766

Url: https://administrator.de/forum/get-childitem-lastwritetime-8663114766.html

Ausgedruckt am: 22.04.2025 um 04:04 Uhr

em-pie
Lösung em-pie 02.04.2024 aktualisiert um 13:34:32 Uhr
Goto Top
Moin,

Get-ChildItem -Path $souredir | Where-Object {$_.LastWriteTime} | select -last 1
Du müsstest natürlich vor dem letzten Pipe auch noch das Sort-Object einbauen.
Ansonsten nimmt er nach dem letzten Pipe den letzten Eintrag, den er (nach seiner Sortierung) gefunden hat…

Edit:
Get-ChildItem -Path $souredir | Sort-Object -Property LastWriteTime -Descending | select -last 1
Chris821
Chris821 02.04.2024 um 13:46:03 Uhr
Goto Top
Das scheint genau so zu funktionieren wie es soll.

Wäre ich im leben nicht drauf gekommen.

Vielen Dank für die schnelle Hilfe

Chris
12168552861
Lösung 12168552861 02.04.2024 aktualisiert um 15:01:12 Uhr
Goto Top
Das oben gibt dir aber nicht die neueste Datei aus sondern die älteste ....

Die neueste bekommst du so
Get-ChildItem -Path $souredir -File | Sort-Object -Property LastWriteTime -Descending | select -first 1
Oder so
Get-ChildItem -Path $souredir -File | Sort-Object -Property LastWriteTime | select -last 1

Btw. Solltest du dringend mal einen Rechtschreibfehler-Durchlauf machen auch bei den Variablen 😂

Gruß pp.
em-pie
em-pie 02.04.2024 um 17:50:49 Uhr
Goto Top
Das oben gibt dir aber nicht die neueste Datei aus sondern die älteste ....
Hast recht. Hatte das nicht validiert -.-
Danke für Ergänzen/ korrigieren face-smile