Quantcast
Channel: Total Commander
Viewing all articles
Browse latest Browse all 4256

Total Commander (Deutsch) • Re: Ordner einfärben nach Alter der Daten

$
0
0
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.

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



Viewing all articles
Browse latest Browse all 4256

Trending Articles