Batch-Datei zum Verteilen in Userverzeichnisse

BelneaHP

Lt. Junior Grade
Registriert
Okt. 2007
Beiträge
425
Hallo liebe Community,

ich möchte eine Datei per Batch in jeden User-Ordner kopieren.

Meine Batch-Datei sieht so aus:

Code:
FOR /D %a IN ("C:\Users\*") DO FOR /D %b IN ("%a\AppData\Roaming\Microsoft\Document Building Blocks\1031\15\") DO XCOPY "C:\KOPIERMICH\Building Blocks.dotx" "%b" /F/y

Wenn ich diesen Befehl manuell im CMD reinhaue wird er ausgeführt und es funktioniert.
Wenn ich den Befehl in einer Batch-Datei ausführe schließt sich das Batch-Fenster sofort (obwohl Pause am Ende) und ich kann nicht sehen weshalb es sich schließt! (Fehlermeldung?) und der Befehl wird natürlich nicht erfolgreich ausgeführt.

Kann mir bitte jemand helfen?
 
Ich seh da nirgends ein Pause am Ende? Sicher das am Ende der batch-Datei "Pause" steht? Oder hast du nur ein Teil der Batch gepostet?
 
Doch doch, am Ende ist eine Pause.
Ich hab nur den Teil der Batch gepostet. Die eigentliche Batch ist noch um einiges umfangreicher.

Allerdings habe ich - um Fehler an einer anderen Stelle auszuschließen - auch mal nur diesen Teil in eine neue Batch gepackt und als Admin ausgeführt. Leider mit dem gleichen Ergebnis. Das Fenster schließt sich sofort wieder :(
 
öffne cmd, navigiere in das verzeichnis wo die batch liegt und führ sie aus.
So schließt sich das Fenster nicht sofort und du hast zumindest die chance eine Fehlermeldung zu sehen.
 
Tolelr Tip, vielen Dank!

Doch merkwürdiger Weise kommt dabei totaler Unfug raus. Als wären da "Enter" dazwischen, er versucht scheinbar zwei von einander getrennte Befehle auszuführen. Wie kann das kommen?

Ich habe das Bild mal angehangen.

TEST.jpg
 
das geht auch nicht in der Batch mit nur einem Prozentzeichen.

Prozentzeichen muss doppelt sein.
 
In was für einem Editor schreibst Du den Batch? Du musst sicherstellen dass Du rein ASCII schreibst, sonst verschieben sich die Sonderzeichen und Du hast diesen syntaktischen Müll produziert. Also kontroliere mal ob Du das wirklich in ASCII geschrieben hast.
 
@frogger9: Wow - vielen Dank, daran lag es. Für mich wäre es sehr interessant zu wissen, wie es kommt, dass es manuell mit nur einem %-Zeichen funktioniert?

@areiland: Sorry, aber was meinst Du? Ich schreibe die Batch in dem normalen Editor - ich mache das nicht regelmäßig, weiß daher auch nicht was genau ich nun in Deinen Augen falsch gemacht habe.
 
es geht nicht, weil er nur ein % Zeichen im FOR Befehl geschrieben hat.

Das Prozentzeichen ist ein Steuerbefehl, es muss in der BAT/CMD daher immer doppelt eingeben werden, sonst interpretiert es die CMD nicht richtig. Wenn man den FOR Befehl direkt in der CMD verwendet, langt ein % Zeichen.

Also FOR /D %a wird FOR /D %%a in der Batch.
 
@darkarchon - die Anführungsstriche bei %%b am Ende müssen noch weg - sonst hat man die doppelt. Hatte ich zum testen drin.
@frogger9: Vielen Dank für Deine Hilfe und Deine Erklärung. Toll!
 
Zurück
Oben