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

Ausgedruckt am: 29.03.2024 um 06:03 Uhr

Mitglied: radiogugu
radiogugu 04.12.2020 um 23:13:07 Uhr
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
Mitglied: Heaven17
Heaven17 04.12.2020 um 23:27:18 Uhr
Goto Top
Danke fürs Testen! Hab es am Arbeitsplatz Computer und zuhause versucht, beides geht nicht. Berechtigung hab ich ja, erst recht zuhause....
Mitglied: radiogugu
radiogugu 04.12.2020 aktualisiert um 23:34:56 Uhr
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
Mitglied: Pjordorf
Pjordorf 04.12.2020 um 23:59:58 Uhr
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
Mitglied: Heaven17
Heaven17 05.12.2020 aktualisiert um 00:32:59 Uhr
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?
Mitglied: Heaven17
Heaven17 05.12.2020 um 00:27:04 Uhr
Goto Top
Virenscanner war's nicht. Manuell ist gar kein Problem.
Mitglied: radiogugu
Lösung radiogugu 05.12.2020 um 14:35:33 Uhr
Goto Top
Tja so ist das manchmal.

Ist vollkommen unbefriedigend, aber leider nicht zu ändern.

Dann > Wie kann ich einen Beitrag als gelöst markieren?
Mitglied: Heaven17
Heaven17 05.12.2020 um 15:00:34 Uhr
Goto Top
Danke. Habs jetzt nochmals durchprobiert, es funktioniert wirklich nicht richtig. Ist ja ein Witz...
Mitglied: 146707
146707 07.12.2020 aktualisiert um 12:07:20 Uhr
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.
Mitglied: Heaven17
Heaven17 07.12.2020 aktualisiert um 14:24:47 Uhr
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 07.12.2020 aktualisiert um 16:28:52 Uhr
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?
Mitglied: Heaven17
Heaven17 07.12.2020 um 17:28:13 Uhr
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 07.12.2020 aktualisiert um 17:32:41 Uhr
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.
Mitglied: Heaven17
Heaven17 07.12.2020 aktualisiert um 18:00:09 Uhr
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
Lösung 146707 07.12.2020 aktualisiert um 18:21:21 Uhr
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.
Mitglied: Heaven17
Heaven17 07.12.2020 aktualisiert um 18:29:54 Uhr
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!