Synology DS423+: Dateiattribute (Erstelldatum...) vom PC übernehmen

floert

Commander
Registriert
März 2009
Beiträge
2.762
Hallo,

ich habe mir eine DS423+ Mit 2 WD RED Plus 12TB Platten gekauft und die 2 HDDs meines PCs und die Datenpartition meines Laptops dahin übertragen. Jetzt habe ich das Problem dass (eigentlich logisch) die Attribute (Datum usw.) nicht übernommen wurden (Weil ich einfach über den Explorer kopiert habe).
Gibt es eine Möglichkeit das mit Robocopy o.ä. zu ändern ohne die Dateien nochmal übertragen zu müssen? Und wenn nicht mit welche /?-Befehlen wird das beim kopieren exakt übertragen? Haupsächlich geht es mir um Download Verzeichnisse wo ich ohne Sortierung nach Datum bei der Menge an Files aufgeschmissen bin.

Und ich möchte dass die Daten 1:1 übertragen werden (ohne Image o.ä.).

Vielen Dank!
 
robocopy-Parameter selber durchschauen.
Alternativ gab es im Forum hier vor geschätzt 2-3 Monaten die gleiche Frage, wo ich ebenfalls geantwortet habe. Kannst ja mal auf die Suche gehen.

E: wobei es dort um die tatsächlich Attribute (RASH) und nicht Dateidatum ging...
 
Meinst du es gibt eine Chance dass ich nur die Attribute übernehmen kann? Denn wenn ich 2-3h recherchieren muss ist das schon die halbe Zeit die eine Neuübertragung ca. dauern würde? ;)
 
Alternativ per Powershell (ungetestet und per Copilot generiert, aber sieht recht schlüssig aus):

PowerShell:
# Define the paths to the source and destination folders
$sourceFolderPath = "C:\Path\To\Source\Folder"
$destinationFolderPath = "C:\Path\To\Destination\Folder"

# Recursively get all files in the source folder
$sourceFiles = Get-ChildItem -Path $sourceFolderPath -Recurse -File

foreach ($sourceFile in $sourceFiles) {
    # Construct the corresponding destination file path
    $relativePath = $sourceFile.FullName.Substring($sourceFolderPath.Length)
    $destinationFilePath = Join-Path $destinationFolderPath $relativePath

    # Check if the destination file exists
    if (Test-Path -Path $destinationFilePath) {
        # Get the destination file
        $destinationFile = Get-Item -Path $destinationFilePath

        # Set the LastWriteTime of the destination file to match the source file
        $destinationFile.LastWriteTime = $sourceFile.LastWriteTime
    }
}

Write-Output "Modified date of all matching files in '$destinationFolderPath' has been set to match the source files in '$sourceFolderPath'"

Falls nicht nur LastWriteTime übernommen werden soll, muss es natürlich noch erweitert werden.
 
Das Script sollte einfach ne Fehlermeldung ausspucken, wenn es auf eine Datei nicht zugreifen kann und weitermachen. Oder einfach ohne Meldung überspringen, wenn Test-Path in 14 schon nicht klappt.
Falls nicht, zeig mal den Fehler.
 
Eine Windows-Kiste hab ich gerade nicht laufen - aber wenn ich mit einem Linux-Dateimanager (Nautilus) Dateien aufs NAS kopiere, bleiben das Datum der letzten Änderung und das Datum des letzten Zugriffs erhalten - das Erstellungsdatum jedoch nicht, das fehlt komplett.

Möglicherweise ist das Mapping unter Windows aber auch anders - ich würde das einfach mal ausprobieren.
Ergänzung ()

Oops - hast ja schon geschrieben, dass das mit dem Explorer nicht geht.
Evtl. gehts mit Verschieben statt Kopieren.
 
Zurück
Oben