apokrat
Goto Top

Robocopy CMD funkioniert, aus der BAT heraus wird der Pfad nicht gefunden

Hallo zusammen,

ich bin jetzt schon seit 2 Tagen auf der Suche nach meinem Problemchen.

Bei einem Kunden (WIN10 HOME) möchte ich mit Nutzung von Robocopy einzelne Ordner auf eine externe USB spiegeln.

Hier mal mein CMD:

robocopy "C:\Users\Jörg Txxxxx\Pictures" "K:\TEST\Bilder" /mir /r:1 /w:1 /tee /log:K:\TEST\Bilder_Log.txt

Wird dieser direkt in der Eingabeaufforderung ausgeführt, funktioniert alles wie gewünscht.

Die bat allerdings (besteht aktuell ausschließlich aus dem selben Befehl) erzeugt mir folgendes Log:


ROBOCOPY :: Robustes Dateikopieren fr Windows

Gestartet: Donnerstag, 26. Januar 2017 10:17:56
Quelle : C:\Users\Jörg Txxxxx\Pictures\
Ziel = K:\TEST\Bilder\

Dateien : *.*

Optionen: *.* /TEE /S /E /DCOPY:DA /COPY:DAT /PURGE /MIR /R:1 /W:1


2017/01/26 10:17:56 FEHLER 3 (0x00000003) Zugriff auf Quellverzeichnis C:\Users\Jörg Txxxxx\Pictures\
Das System kann den angegebenen Pfad nicht finden.


Ich habe es bereits mit dem EDITOR und NOTEPAD++ zwecks der Codierung des "ö", als auch mit dem setzen von Variablen für eben jenes "ö" versucht.
Ebenfalls habe ich den Versuch der als Admin ausgeführten Verknüpfung unternommen, erfolglos, sonst würde ich ja nicht hier fragen.

Neben der Vermutung, dass es sich um das "ö" geht, verstehe ich auch nicht, warum die Befehle /S /E /DCOPY:DA /COPY:DAT /PURGE dazu kommen.
/S /E und /PURGE sind doch eigentlich über den /MIR bereits abgehandelt. Das soll mir aber auch egal sein, denn es läuft ja per direkter Ausführung im CMD.

Zum Schluss sei noch gesagt, dass ursprünglich Quelle und Ziel als Variablen gesetzt wurden, was aber den gleichen Effekt hatte.

Ich bin Ratlos und hoffe daher auf Eure Hilfe
Liebe Grüße und Dank vorab!

Content-Key: 327584

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

Printed on: April 24, 2024 at 15:04 o'clock

Member: Pjordorf
Solution Pjordorf Jan 26, 2017 at 11:15:49 (UTC)
Goto Top
Hallo,

Zitat von @Apokrat:
2017/01/26 10:17:56 FEHLER 3 (0x00000003) Zugriff auf Quellverzeichnis C:\Users\Jörg Txxxxx\Pictures\ Das System kann den angegebenen Pfad nicht finden.
Wie ist denn der tatsächliche Pfadname? Dein Jörg scheint dir schwierigkeiten zu bereiten. Was also steht tatsächlich als Pfadname geschrieben?
Mit welchen Zeichensatz hast du deine Batch abgespeichert. Nicht überall wo ein Jörg steht ist auch ein Jörg enthalten?

Neben der Vermutung, dass es sich um das "ö" geht, verstehe ich auch nicht, warum die Befehle /S /E /DCOPY:DA /COPY:DAT /PURGE dazu kommen.
Du hast eben einige Parameter nicht angegeben, daher werden diese mit den Defaults besetzt.

Gruß,
Peter
Member: Apokrat
Apokrat Jan 26, 2017 at 11:32:45 (UTC)
Goto Top
Hallo Peter,

danke für das schnelle Feedback!

Das mit den zusätzlichen Parametern habe ich mir schon gedacht, danke für die Bestätigung.

Der Pfad ist direkt aus dem Explorer kopiert (vermeidet erfahrungsgemäße Schreibfehler).
Jetzt direkt noch mal frisch kopiert:
C:\Users\Jörg Txxxxx\Pictures

Habe gerade mal den Veruch mit einem neuen Benutzerordner gemacht:
C:\Users\TESTUSER\Pictures
Der läuft einwandfrei.

Es liegt also entweder am "ö" oder am Leerzeichen.
Ich habe für die bat den klassischen Editor genutzt, keine Ahnung wie der kodiert.

Liebe Grüße
Jörg
Member: Kraemer
Solution Kraemer Jan 26, 2017 updated at 12:03:01 (UTC)
Goto Top
Moin,
Zitat von @Apokrat:
Ich habe für die bat den klassischen Editor genutzt, keine Ahnung wie der kodiert.
nicht richtig. Öffne mal eine CMD und gib dort folgendes ein:

echo äöü > test.txt
und öffne dann die Datei mit dem Windows Editor.

Gruß Krämer

PS: Du solltest Notepad++ oder einen ähnlichen Editor verwenden und die Kodierung auf OEM 852 setzen.
Member: Apokrat
Apokrat Jan 26, 2017 at 12:48:18 (UTC)
Goto Top
Großartig!

das war es. Die Kodierung OEM 852 hat es gebracht.

Nach Umstellung läuft er jetzt wie folgt:

robocopy "C:\Users\J”rg Txxxxx\Pictures" "K:\TEST\Bilder" /s /e /purge /mir /r:1 /w:1 /tee /log:K:\TEST\Bilder_Log.txt

Das "ö" wird zwar zerrissen dargestellt, aber der Job läuft im Test sauber durch.

Vielen lieben Dank!
Dann teste ich jetzt mal mit mehr Datenmasse.

Liebe Grüße
jörg
Member: Pjordorf
Solution Pjordorf Jan 26, 2017 at 12:50:03 (UTC)
Goto Top
Hallo,

Zitat von @Apokrat:
Es liegt also entweder am "ö" oder am Leerzeichen.
Das wird das Ö sein denn du hast den Pfad ja in Anführungszeichen gesetzt. Die Codierung deiner gespeicherten Batch Datei (.bat oder .cmd) macht dir mit den Ö probleme.

Ich habe für die bat den klassischen Editor genutzt, keine Ahnung wie der kodiert.
Nimm mal Wordpad und stelle die Codierung um. Wordpad ungleich Editor (Notepad) wenns um die Zeichensätze geht.

Gruß,
Peter
Member: Apokrat
Apokrat Jan 26, 2017 at 13:25:01 (UTC)
Goto Top
Vielen lieben Dank!

für jemandem mit gleichem Problem noch mal kurz zusammengefasst:

1. Erstellung nicht im "Editor" sondern im "Notepad++"
2. Kodierung auf "Mitteleuropäisch" OEM852
3. Meine Parameter:
  • /s : nimmt alle gefüllten Ordner
  • /e : nimmt auch die leeren Ordner mit
  • /purge : entfernt Daten am Ziel, wenn sie in der Quelle nicht mehr vorhanden sind
  • /mir : Gesamtfunktion einer Spiegeluing (funktioniert bei mir aber nur mit /purge zusammen richtig)
  • /w:1 : bei Fehlern eine Sekunde warten
  • /r:1 : bei Fehlern ein weiterer Versuch
  • /tee : damit man in Echtzeit sieht, was da gerade passiert
  • /xa:sh : dient der Schmälerung der Daten, da Systemdateien und versteckte Verzeichnisse nicht mit gesichert werden.
  • /log:PFAD\DATEINAME.txt : gibt ein detailliertes Protokoll der Sicherung aus.

Mein Befehl als ganzes:
robocopy "C:\Users\Jörg Txxxxx\Pictures" "K:\TEST\Bilder" /s /e /purge /mir /xa:sh /r:1 /w:1 /tee /log:K:\TEST\Bilder_Log.txt

Ich Danke Euch, Peter und Krämer, läuft wunderbar.
Liebe Grüße
Jörg