Hallo,
ich konnte per Skript (erstellt von ChatGPT 4 o) jetzt das Datum der Ordner selbst auf das jeweils jüngste Datum der enthalten Dateien oder Ordner setzen. Nun ist das farbige Markieren per filesys natürlich einfach.
ich konnte per Skript (erstellt von ChatGPT 4 o) jetzt das Datum der Ordner selbst auf das jeweils jüngste Datum der enthalten Dateien oder Ordner setzen. Nun ist das farbige Markieren per filesys natürlich einfach.
Code:
# Ordnerstuktur wird rekursiv durchlaufen. Das Datum eines jeden Ordners wird auf das jüngste Datum der darin befindlichen Dateien oder Ordner gesetzt.# "Alte" Order, die länger nicht genutzt wurden, können so rasch erkannt werden# 240913, praetor, ChatGPT 4o# Set the start folder to the folder where this script is located$startFolder = (Get-Location)# Function to process folders recursively and update their last modified datefunction Process-Folder { param ($folderPath) Write-Host "Bearbeite Ordner: $folderPath" # Get all files and subfolders in the current folder $items = Get-ChildItem -Path $folderPath # Initialize a variable to store the most recent date $newestDate = [datetime]'1900-01-01' # Recursively process subfolders first (bottom-up approach) $subfolders = Get-ChildItem -Path $folderPath -Directory foreach ($subfolder in $subfolders) { Process-Folder $subfolder.FullName # After processing subfolders, get the modified date of the subfolder $subfolderModifiedDate = (Get-Item $subfolder.FullName).LastWriteTime if ($subfolderModifiedDate -gt $newestDate) { $newestDate = $subfolderModifiedDate } } # Now check the files in the current folder $files = Get-ChildItem -Path $folderPath -File foreach ($file in $files) { $fileModifiedDate = (Get-Item $file.FullName).LastWriteTime if ($fileModifiedDate -gt $newestDate) { $newestDate = $fileModifiedDate } } # Display the newest date found in the folder Write-Host "Jüngstes Datum im Ordner: $newestDate" # Set the last modified date of the current folder to the newest date found if ($newestDate -ne [datetime]'1900-01-01') { try { (Get-Item $folderPath).LastWriteTime = $newestDate Write-Host "Ordnerdatum erfolgreich auf $newestDate gesetzt." } catch { Write-Host "Fehler beim Setzen des Ordnerdatums." } } else { Write-Host "Kein gültiges Datum gefunden, Ordnerdatum nicht geändert." }}# Start processing the start folderProcess-Folder $startFolder# Notify the user that all folders have been processedWrite-Host "Alle Ordner wurden bearbeitet. Drücken Sie eine beliebige Taste zum Beenden."Read-Host
Statistics: Posted by praetor — 2024-09-18, 14:52 UTC