ralfhackmann
Goto Top

Robocopy MINLAD arbeitet nicht wie erwartet

Hallo,

ich möchte über robocopy /MINLAD:n aus einer über Jahrzehnte gewachsenen Ordnerstruktur Dateien, auf die seid einem bestimmten Datum nicht mehr zugegriffen wurde in ein Jahresarchiv(e) verschieben.

Zum Test habe ich folgendes Script erstellt:
set log=E:\batch\log\archivtest-%date:~0,2%-%date:~3,2%-%date:~6,4%-%time:~0,2%-%time:~3,2%-%time:~6,2%.log

set Ziel_V=E:\backup\

set F1=e:\test

set Z1=test\
set d=20201231

robocopy %F1% %Ziel_V%%Z1%%d% /MINLAD:%d% /S  /LOG+:"%log%" /V  /r:3 /NP  

Im Verzeichnis e:\test befinden sich folgende Dateien mit dem heutigen Erstelldatum, weil ich sie für den Test zusammengestellt habe:

robocopy

Wenn ich das Script starte gib das Logfile folgendes aus:

-------------------------------------------------------------------------------
   ROBOCOPY     ::     Robust File Copy for Windows     ::     Version XP010
-------------------------------------------------------------------------------

  Started : Fri Jul 22 12:39:21 2022

   Source : e:\test\
     Dest : E:\backup\test\20201231\

    Files : *.*
	    
  Options : *.* /V /S /COPY:DAT /MINLAD:20201231 /R:3 /W:30 

------------------------------------------------------------------------------

	                   6	e:\test\
	       too new		   76676	131032914_3156035204500461_7458116329369389062_n (1).jpg
	       too new		   15149	131032914_3156035204500461_7458116329369389062_n.jpg
	       too new		   37393	RG_100076866543.pdf
	       too new		   37742	RG_100080315258.pdf
	       too new		   28673	RG_100083851080.pdf
	       too new		   28830	RG_100085094785.pdf

------------------------------------------------------------------------------

                Total    Copied   Skipped  Mismatch    FAILED    Extras
     Dirs :         1         0         1         0         0         0
    Files :         6         0         6         0         0         0
    Bytes :   219.2 k         0   219.2 k         0         0         0
    Times :   0:00:00   0:00:00                       0:00:00   0:00:00

    Ended : Fri Jul 22 12:39:21 2022

Wenn ich jetzt den Parameter ändere in MINAGE ...

robocopy %F1% %Ziel_V%%Z1%%d% /MINAGE:%d% /S  /LOG+:"%log%" /V  /r:3 /NP  

..., dann arbeitet das Script wie erwartet:

-------------------------------------------------------------------------------
   ROBOCOPY     ::     Robust File Copy for Windows     ::     Version XP010
-------------------------------------------------------------------------------

  Started : Fri Jul 22 12:53:51 2022

   Source : e:\test\
     Dest : E:\backup\test\20201231\

    Files : *.*
	    
  Options : *.* /V /S /COPY:DAT /NP /MINAGE:20201231 /R:3 /W:30 

------------------------------------------------------------------------------

	                   6	e:\test\
	       too new		   28673	RG_100083851080.pdf
	       too new		   28830	RG_100085094785.pdf
	          same		   76676	131032914_3156035204500461_7458116329369389062_n (1).jpg
	          same		   15149	131032914_3156035204500461_7458116329369389062_n.jpg
	          same		   37393	RG_100076866543.pdf
	          same		   37742	RG_100080315258.pdf

------------------------------------------------------------------------------

                Total    Copied   Skipped  Mismatch    FAILED    Extras
     Dirs :         1         0         1         0         0         0
    Files :         6         0         6         0         0         0
    Bytes :   219.2 k         0   219.2 k         0         0         0
    Times :   0:00:00   0:00:00                       0:00:00   0:00:00

    Ended : Fri Jul 22 12:53:51 2022

Hat jemand eine Erklärung dafür, oder habe ich hier etwas falsch verstanden?

Gruß

Ralf

Content-ID: 3411501954

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

Ausgedruckt am: 21.11.2024 um 18:11 Uhr

colinardo
Lösung colinardo 22.07.2022 aktualisiert um 16:29:30 Uhr
Goto Top
Servus Ralf.
MINLAD verwendet wie der Name schon sagt (LAD = LastAccessDate) das letzte Zugriffsdatum nicht das Erstell- oder Änderungsdatum.
Lass dir also mal die Spalte "Letzer Zugriff" einblenden.

Des weiteren muss man hier erwähnen das sich das Führen der LastAccessTime im System auch ausschalten lässt, das macht man vielfach wenn man SSDs verwendet weil das die Schreibrate um einiges verringert und Windows so nicht beim jedem Dateizugriff das Datum auf der Platte aktualisieren muss, was die Schreibzyklen verringert.
Prüfen lässt sich das mittels
fsutil behavior query DisableLastAccess
Wenn das auf 1 steht, wurde das Führen dieses Datums auf dem jeweiligen System ausgeschaltet und du kannst dich nicht mehr zwingend auf dieses Datum verlassen, weil seit dem Zeitpunkt an dem es deaktiviert wird nicht mehr geführt wird bzw. automatisch auf das Änderungsdatum gesetzt wird wenn die Datei das nächste mal geändert wird.

Grüße Uwe
RalfHackmann
RalfHackmann 25.07.2022 um 09:10:48 Uhr
Goto Top
Hallo Uwe,

danke für die Antwort.

mir war nicht bekannt, daß es noch das Attribut "Letzter Zugriff" und bin davon ausgegangen, daß MINLAD sich auf das Datum der letzten Änderung beziehen würde und MINAGE auf das Erstelldatum.

Da sich MINAGE auf das Datum der letzten Änderung bezieht, macht MINAGE genau das was ich brauche.

Gruß

Ralf