CMD Robocopy Error?
Hallo
ich habe gerade ein großes Problem.
Und zwar wenn ich folgenden CMD/Batch Code ausführe
kommt
kann mir bitte jemand helfen.
Ich bin gerade echt am verzweifeln
(Wenn ich das alles per Hand in die CMD paste passiert das nicht)
Bin dankbar für jede Antwort
LG white
2 Antworten
Du hast eine sich selbstaufrufende Batch gebaut.
Deine Batch heißt "robocopy.bat" . Wenn bei einem Befehlsaufruf kein expliziter Pfad oder/und eine Extension angegeben wird, such das System im aktuellen Ordner nach einer ausführbaren Datei mit dem angegebenen Namen und wird bei Dir fündig... das erste Beste ist robocopy.bat , die dürfte wohl gemeint sein.
Deine Batch wird ausgeführt und darin wir robocopy aufgerufen. ...das ganze Spiel wird endlos fortgesetzt....😵🤪
Entweder du rufst in deiner Batch explizit :
c:\Windows\System32\Robocopy.exe usw.
oder
Robocopy.exe usw.
die beste Lösung ist jedoch darauf zu achten , das eine Batch nie den gleichen Namen hat. wie ein darin aufgerufenes Programm oder Systemprogramm !
Nenne deine Batch meinetwegen "MyRobocopy.cmd" oder "Bkup_MeineAblage.cmd"
in dieser Beziehung auch noch der Hinweis: die richitge Endung für Batch ist unter Windows .cmd die Extension! .bat ist ein Relikt aus Doszeiten, welches von Leuten am leben gehalten wird, welche keine Ahnung haben. .bat versetzt den Batchinterpreter in einen Dos-Emulationsmodus , welcher uralten Code in angepasster weise ausführt!
Vielen Dank für deine hilfreiche und sehr ausführliche Antwort. 👍
du darfst nicht mehrere befehle in eine Zeile schreiben. Ich benutze Linux aber bei Windows müsste das auch so sein, dass nur ein Befehl pro Zeile erlaubt ist. Das ist eigenlich immer so (soweit ich weiß)
selbst aufrufendes Script...
Da Skripte in Bash in der Regel mit Extension aufgerufen werden gibt's normalerweise keine Verwechslungen allerdings kann man auch in bash buildin Kommandos überschreiben. https://www.tutorialkart.com/bash-shell-scripting/bash-override-commands/
Das läuft bei Windows-Batch über die Hierarchie, in welcher Befehle ohne Extension/Pfad ausgeführt werden.
Es ist doch nur ein Befehl pro Zeile zu sehen oder was meinst du ?