Du willst deine Dateien nach Datum sortieren aber am oberen Ende der Liste sind Einträge weit aus der Zukunft?
In der Powershell mit Administratorberechtigung kann man das gerade biegen. Für einzelne einzelne Datumswerte geht es so:
(Get-Item „T:\photos 2012\25.jpg“).CreationTime=$(Get-Date „15/2/2012 7:00 am“)
(Get-Item „T:\photos 2012\25.jpg“).LastWriteTime=$(Get-Date „15/2/2012 7:00 am“)
(Get-Item „T:\photos 2012\25.jpg“).lastaccesstime=$(Get-Date „15/2/2012 7:00 am“)
Du kannst auch alles in 1 Datei auf einmal ändern:
$Date = Get-Date „15/2/2012 7:00 am“
(Get-Item „T:\photos 2012\25.jpg“) | ForEach-Object {
$_.CreationTime = $Date
$_.LastWriteTime = $Date
$_.LastAccessTime = $Date
}
Oder alles in 1 Zeile, indem man die Datumsangaben relativ angibt:
$File = Get-Item „T:\photos 2012\25.jpg“; $Date = Get-Date „15/2/2012 7:00 am“; $File.CreationTime = $Date; $File.LastWriteTime = $Date; $File.LastAccessTime = $Date
Wenn du es für alle Dateien in einem Order machen willst:
Get-ChildItem „T:\photos 2012\“ -File | ForEach-Object { … }
Lasse „-File“ weg und er macht es auch in Unterordnern
Um nur bestimmte Dateitypen anzusprechen, nutze:
Get-ChildItem „T:\photos 2012\“ -File -Filter *.jpg | ForEach-Object { … }
Den Ordner selbst kann man natürlich auch verändern:
$Date = Get-Date „15/2/2012 7:00 am“; (Get-Item „T:\photos 2012“).CreationTime=$Date; (Get-Item „T:\photos 2012“).LastWriteTime=$Date; (Get-Item „T:\photos 2012“).LastAccessTime=$Date
Aber bei mir kommt „Der Prozess kann nicht auf die Datei zugreifen, da sie von einem anderen Prozess verwendet wird.“
Alternative Ideen:
SKTimeStamp mit Shell-Integration für die Rechte Maustaste
NewFileTime mit grafischer Oberfläche und zum Reinziehen.