artemis
Goto Top

Dateiliste "Letztes Zugriffsdatum kleiner (Datum)" erstellen

Hallo zusammen!

Der Befehl (innerhalb eines größeren Batch-Skriptes)
dir *.wav *.mp3 *.aac *.ac3 *.m4a /A-D /S /OGN /B > dir.txt
liefert eine blitzsaubere Dateiliste nach diesem Muster

D:\Pfad\Datei-06.wav
D:\Pfad\Subdir\Datei-13.mp3
D:\Pfad\Subsubdir\Datei-52.aac
...
usw.

Nun soll als zusätzliches Auswahlkriterium ein bestimmtes "Letztes Zugriffsdatum" dazukommen, und zwar "Letztes Zugriffsdatum -kleiner als- [Datum]", so daß dann NUR die betreffenden Dateien schlußendlich in der dir.txt landen.

Noch mal anders formuliert: Liste alle Dateien, deren "Datum des letzten Zugriffs" älter als [Datum] ist.

Bei DIR gibt es ja diesen Parameter: dir /t[[:] <timefield>
der aber nur eine Sortierung der jeweils gewünschten Datumsstempel vornimmt, scheidet also aus.

Eine Möglichkeit wäre der FileListCreator, der jedoch nur per GUI arbeitet, zwar mit Hilfe von AHK duraus das gewünschte Ergebnis bringen kann, was aber letztlich doch recht umständlich ist. Auch der Total Commander kann das mit diesem tc-plugin, was aber natürlich nicht skriptfähig ist.

Es geht sicher auch mit diesem Befehl aus der PowerShell (hab ich im Web gefunden):
Get-ChildItem | Where-Object {$_.LastWriteTime -st (get-Date 10.05.2021)}
...aber ich weiß mangels PowerShell-Kenntnisse nicht, wie ich das mit meiner ursprünglichen dir-Zeile verknüpfen soll.

Kann mir deshalb bitte jemand mit einem pfiffigen Skript weiterhelfen, das zusammen mit diesem dir-Befehl das gewünschte Ergebnis liefert?
Oder ist zu "dir" eine Alternative bekannt, die das bereits onboard hat?

Schönen Dank!
Artemis

Content-ID: 2118959169

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

Ausgedruckt am: 22.11.2024 um 07:11 Uhr

em-pie
em-pie 11.03.2022 aktualisiert um 09:05:21 Uhr
Goto Top
Moin,

ich würde die Powershell bevorzugen face-smile
Du bist auf dem richtigen Weg. für die Endungen kannst du das wie folgt umsetzen:

$myFolder = "C:\Some\Crazy\Files\*"  
$Include = @("*.trn","*.bak","*.diff")  

Get-ChildItem -Path $myFolder -Include $Include | Where-Object {$_.LastWriteTime -st (get-Date 10.05.2021)} | Out-File -FilePath dir.txt

Hinweise:

Die übrigen Parameter deines dir-Befehls musst du dann mal selbst erarbeiten face-smile

Gruß
em-pie