heaven17
Goto Top

Robocopy überschreibt nichts trotz is Parameter

Hallo
ich komme nicht weiter: ich habe eine cmd-Datei erstellt mit diesem einfachen Befehl:

robocopy c:\test c:\test\archiv *.txt /mov /is /it

Die Datei besteht schon in C:\test\archiv, wird aber trotz /is-Schalter nicht überschrieben, Meldung ist immer 'skipped'.

Hab schon alles versucht, komme nicht weiter. Was könnte es sein?

Content-Key: 628268

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

Printed on: April 20, 2024 at 00:04 o'clock

Member: radiogugu
radiogugu Dec 04, 2020 at 22:13:07 (UTC)
Goto Top
Hallo.

Habe gerade in eine Win10 VM deinen Befehl erfolgreich absetzen können face-sad

Gibt es denn Berechtigungsprobleme, dass die Datei beispielsweise geöffnet war?

Gruß
Radiogugu
Member: Heaven17
Heaven17 Dec 04, 2020 at 22:27:18 (UTC)
Goto Top
Danke fürs Testen! Hab es am Arbeitsplatz Computer und zuhause versucht, beides geht nicht. Berechtigung hab ich ja, erst recht zuhause....
Member: radiogugu
radiogugu Dec 04, 2020 updated at 22:34:56 (UTC)
Goto Top
Mal den Virenscanner deaktiviert zum Test?

Vielleicht hält der ja die Datei aus irgendeinem Grund fest.

Ich gehe davon aus, dass das manuelle Kopieren / Verschieben funktioniert?

Gruß
Radiogugu
Member: Pjordorf
Pjordorf Dec 04, 2020 at 22:59:58 (UTC)
Goto Top
Hallo,

Zitat von @Heaven17:
und zuhause versucht, beides geht nicht. Berechtigung hab ich ja, erst recht zuhause....
Hab da schon sehr oft anderes gesehen und erlebt. Mal den Schalter /Log:C:\Temp\MeineVersuche.txt nehmen und dir ein LOG generieren lassen. Da steht dann evtl. mehr Info zu deinen Problem drin. Und ohne /is /it klappt es nicht?

Gruß,
Peter
Member: Heaven17
Heaven17 Dec 04, 2020 updated at 23:32:59 (UTC)
Goto Top
Ohne /is /it gehts gar nicht.
Hier der Log:

ROBOCOPY :: Robustes Dateikopieren fr Windows

Gestartet: Samstag, 5. Dezember 2020 00:21:47
Quelle : c:\test\
Ziel : c:\test\archiv\

Dateien : *.txt

Optionen: /DCOPY:DA /COPY:DAT /MOV /IS /IT /R:1000000 /W:30


2 c:\test\
Neue Datei 0 MeineVersuche.txt


Seltsamerweise klappt es mit der "MeineVersuche.txt", die wird verschoben, nur die Test.txt bleibt stehen. Jetzt hab ich mal die Test.txt
  • von c:\Test in C:\Test\Archiv verschoben
  • dann von dort ins C:\Test kopiert

und jetzt funktioniert es! Das kann ja nicht sein?
Member: Heaven17
Heaven17 Dec 04, 2020 at 23:27:04 (UTC)
Goto Top
Virenscanner war's nicht. Manuell ist gar kein Problem.
Member: radiogugu
Solution radiogugu Dec 05, 2020 at 13:35:33 (UTC)
Goto Top
Tja so ist das manchmal.

Ist vollkommen unbefriedigend, aber leider nicht zu ändern.

Dann > How can I mark a post as solved?
Member: Heaven17
Heaven17 Dec 05, 2020 at 14:00:34 (UTC)
Goto Top
Danke. Habs jetzt nochmals durchprobiert, es funktioniert wirklich nicht richtig. Ist ja ein Witz...
Mitglied: 146707
146707 Dec 07, 2020 updated at 11:07:20 (UTC)
Goto Top
Ist ja ein Witz...
Deswegen heist es ja auch Robocopy und nicht Robomove face-smile. Btw. funktioniert hier alles wie erwartet. Fehler muss hier also bei dir liegen.
Member: Heaven17
Heaven17 Dec 07, 2020 updated at 13:24:47 (UTC)
Goto Top
ja schon, aber trotzdem ist ja die MOVE Funktion drin. Bei mir ist der Fehler ja nicht, siehe das einfache Testbeispiel.
Mitglied: 146707
146707 Dec 07, 2020 updated at 15:28:52 (UTC)
Goto Top
siehe das einfache Testbeispiel.
Joa und genau das funktioniert hier auf allen mir zur Verfügung stehenden OS und Robocopy Versionen genau so wie du es oben geschrieben hast einwandfrei. Egal ob schon eine gleiche Datei im Zielverzeichnis vorhanden ist oder nicht, sie wird überschrieben wenn die in der Quelle neuer ist als die im Ziel und wird anschließend auch immer aus der Quelle gelöscht, so wie vorgesehen. Es wird also nur überschrieben wenn Datei neuer ist, das ist vollkommen normales Verhalten und kein Fehler.
Bei mir ist der Fehler ja nicht
Bei wem denn sonst?
Member: Heaven17
Heaven17 Dec 07, 2020 at 16:28:13 (UTC)
Goto Top
Mit dem /is switch müsste sie doch auch überschrieben werden wenn sie identisch ist?

"Overwrite files even if they are already the same"
Mitglied: 146707
146707 Dec 07, 2020 updated at 16:32:41 (UTC)
Goto Top
Zitat von @Heaven17:

Mit dem /is switch müsste sie doch auch überschrieben werden wenn sie identisch ist?

"Overwrite files even if they are already the same"
Muss sie ja nicht weil sie ja eh gleich sind. Ist ein überflüssiger Vorgang. Du verschiebst ja auch und kopierst nicht.
Member: Heaven17
Heaven17 Dec 07, 2020 updated at 17:00:09 (UTC)
Goto Top
Dann ist das nicht ganz das was ich brauche. Der Ablauf ist :

  • existierende Datei mit Robocopy von C:\Test nach C:\Test\Archiv verschieben
  • neue Datei generieren in C:\Export
  • diese Datei mit Robocopy nach C:\Test verschieben

Wenn die 2 existierenden Dateien in C:\Test und C:\Test\Archiv jedoch genau gleich sind, wird diejenige in C:\Test stehenbleiben. Das ist das Problem. Mit /is /it ging ich davon aus, dass sie dennoch verschoben wird.
In einer Batch-Datei mit xcopy funktioniert das.
Mitglied: 146707
Solution 146707 Dec 07, 2020 updated at 17:21:21 (UTC)
Goto Top
Zitat von @Heaven17:
Wenn die 2 existierenden Dateien in C:\Test und C:\Test\Archiv jedoch genau gleich sind, wird diejenige in C:\Test stehenbleiben.
Nein das tut sie nicht, sie wird von Robocopy bei einem /MOV immer aus der Quelle gelöscht! Weil sie im Ziel gleich ist muss Robocopy die Datei nur nicht rüber kopieren. Ein Move-Vorgang ist immer erst mal eine Kopie mit anschließendem Löschen aus der Quelle.

Ist offensichtlich nur ein Verständnisproblem.

diese Datei mit Robocopy nach C:\Test verschieben
Ja und nach dem letzten Schritt musst du ja erneut nach C:\Test\Archiv verschieben sonst liegt die Datei da dort ja noch.

In einer Batch-Datei mit xcopy funktioniert das.
Robocopy funktioniert wie oben von dir beschrieben auch einwandfrei. Habe ich hier extra nachgestellt. Ist wohl eher ein Verständnisproblem.
Member: Heaven17
Heaven17 Dec 07, 2020 updated at 17:29:54 (UTC)
Goto Top
Wenn die 2 existierenden Dateien in C:\Test und C:\Test\Archiv jedoch genau gleich sind, wird diejenige in C:\Test stehenbleiben.
Nein das tut sie nicht, sie wird von Robocopy bei einem /MOV immer aus der Quelle gelöscht! Weil sie im Ziel gleich ist muss Robocopy die Datei nur nicht rüber kopieren. Ein Move-Vorgang ist immer erst mal eine Kopie mit anschließendem Löschen aus der Quelle.

Ist offensichtlich nur ein Verständnisproblem.

Manno! Dann ist es ein Verständnisproblem! Sie wird aus der Quelle gelöscht, aber nur nicht überschrieben, das ist das Problem! Das hab ich nicht realisiert, vielen Dank!
Dann muss ich mir so behelfen - hab ich auch bereits eingerichtet, nachdem es nicht klappte wie gewünscht - dass ich zuerst 'regulär' lösche, dann kopiere mit /mov!