omussmann
Goto Top

Ordner synchronisieren via Batch

Hallo an die Gemeinde ...

habe folgende Herausforderung:

ich möchte aus dem Qellverseichnis \\server\headquater\daten nur bestimmte Dateien in ein Verzeichnis aller Filialen kopieren.

\\server\filiale01\daten
\\server\filiale02\daten
\\server\filiale03\daten

Die Namen der zu kopierenden Dateien wären in einem Textfile zu finden. Da die Anzahl der Filialen dynamisch ist, aber der Name des Ordners immer mit Filiale anfängt, wäre es gut, wenn das Script nach allen Ordner mit dem Namensbestandteil Filiale schaut und dann in den Unter-Ordner daten die Dateien kopiert.

Mein Ansatz, jede zu kopierende Datei für jede Filiale einzeln via xcopy zu kopieren, ist zu aufwendig, da sich die zu kopierenden Dateien ändern können .

Wie könnte ein ein besserer Ansatz aussehen?

Gruß
Oliver

Content-Key: 150519

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

Printed on: April 23, 2024 at 11:04 o'clock

Member: bastla
bastla Sep 07, 2010 at 12:31:41 (UTC)
Goto Top
Hallo ORatajczak!

Sollte (ungetestet) direkt von der Kommandozeile etwa so gehen:
for /d %i in (\\server\filiale*) do for /f "usebackq delims=" %a in ("\\server\headquater\Dateiliste.txt") do echo copy "%a" "%i\daten\"
Das "echo" dient zum Testen, da so die "copy"-Befehle nur angezeigt, aber noch nicht ausgeführt werden. Um einen Batch daraus zu machen, jeweils anstelle von "%i" "%%i" und analog für "%a" "%%a" verwenden.

Falls in der Dateiliste nur die Dateinamen ohne Pfadangabe enthalten sind, müsste die Zeile eher so aussehen:
for /d %i in (\\server\filiale*) do for /f "usebackq delims=" %a in ("\\server\headquater\Dateiliste.txt") do echo copy "\\server\headquater\daten\%a" "%i\daten\"
Grüße
bastla
Member: OMussmann
OMussmann Sep 07, 2010 at 13:36:57 (UTC)
Goto Top
Leider flackert nur kurz das Scriptfenster auf ... sonst passiert leider nichts ...
Member: Snowman25
Snowman25 Sep 07, 2010 at 14:14:54 (UTC)
Goto Top
Du solltest das Script erst mal vom Prompt aus starten. Dort siehst du auch etwaige Fehler.
Ausserdem musst du die echo befehle vor dem copy entfernen.
Member: OMussmann
OMussmann Sep 07, 2010 at 16:15:21 (UTC)
Goto Top
Über Start Ausführen Cmd lässt sich das problemlos ausführen. Führe ich das aber über eine Batch/CMD aus, dann das besagte Problem ... ???
Mitglied: 76109
76109 Sep 07, 2010 at 16:58:15 (UTC)
Goto Top
Hallo ORatajczak!

Wie bastla bereits erwähnt hat, musst Du Im Batch-File die Prozentzeichen bei den Variablen verdoppeln (%%i, %%a...)

Gruß Dieter
Member: HarLeaQuinn
HarLeaQuinn Sep 07, 2010 at 20:45:00 (UTC)
Goto Top
was ist mit "ausführen als Administrator", wenn Du das Batch direkt ausführst? Und bei Starten als Aufgabe unter Windows Server 2008 an den Haken mit dem "Ausführen mit höchsten Privilegien" denken!
Member: OMussmann
OMussmann Sep 08, 2010 at 20:52:22 (UTC)
Goto Top
Hallo an Alle,

es passt nun Alles. Mein Fehler, habe mich einfach nur vertippt.

Vielen Dank für den Support ... face-smile

Gruß
Oliver
Member: Snowman25
Snowman25 Sep 09, 2010 at 07:12:29 (UTC)
Goto Top