Ich versuche, mit Robocopy Dateien von einem Quellverzeichnis in ein Zielverzeichnis zu verschieben. Das Problem besteht darin, dass ein Inetpub-Mailprozess das Zielverzeichnis überwacht und dort abgelegte Dateien schnell sperrt und löscht. Folgendes scheint zu passieren:
1) Ich rufe
Robocopy C:\test c:\test1 /COPY:D /MOV /IPG:50 /R:1000000 /W:30 /Z /Log:C:\robolog\RoboLog.txt
Robocopy scheint den Schalter /D zu ignorieren und nimmt Folgendes in das Protokoll auf:
Source : C:\test\
Dest : c:\test1\
Files : *.*
Options : *.* /COPY:DT /MOV /Z /IPG:50 /R:1000000 /W:30
2) Ich vermute, dass Robocopy die Daten zum Ziel kopiert, dann den Zeitstempel schreibt und dann die Datei aus dem Quellverzeichnis löscht. Da inetpub einige Dateien löscht, bevor Robocopy den Zeitstempel schreiben kann, sehe ich im Protokoll Fehler wie diesen:
18.08.2011 10:17:06 FEHLER 2 (0x00000002) Zeitstempel für Zieldatei C:\test\Foo.txt
Die betroffenen Dateien werden kopiert, verbleiben aber ebenfalls im Quellverzeichnis
3) Robocopy schlägt mit Fehler 9 fehl, da die Dateien kopiert, aber nicht gelöscht wurden.
Gibt es eine Möglichkeit, dies zu beheben? Wenn meine Einschätzung richtig ist, würde es funktionieren, wenn ich Robocopy dazu bringen könnte, nur die Daten zu kopieren und die Zeitstempel als Standardwert beizubehalten.
Antwort1
Ich habe das Gefühl, dass die Dateien gesperrt sind, wenn Sie versuchen, sie zu löschen.
Versuchen Sie, eine Volumeschattenkopie zu verwenden. Damit sollten Sie sicherstellen, dass Sie die benötigten Dateien erhalten, ohne dass sie gelöscht werden.
Dies erschwert jedoch das automatische Löschen der Dateien. Sie müssten ein Skript (einen anderen Teil Ihres aktuellen Skripts) schreiben, um die Dateien durchzugehen und zu bereinigen