Dieser Beitrag ist schon älter. Bitte vergewissern Sie sich, dass die Rahmenbedingungen oder der enthaltene Lösungsvorschlag noch dem aktuellen Stand der Technik entspricht.

Script zum Verzeichniskopieren

Mitglied: n4426

Betriebssystem: Windows 2000 Profesional

Hallo Zusammen,

ist es möglich ein script zu schreiben, das einen Ordner mit sammt unterordnern und Dateien kopiert.

Dabei sollen allerdings die Verzeichnisse nicht im script stehten, sondern in einer seperaten Text-Datei

(*.txt). Wenn ich die Verzeichnisse direkt im script angebe, funktioniert das mit dem befehl xcopy.

Inhalt der Textdatei:
Quellverzeichniss Zielverzeichniss
*
"\\SERVER1\Freigabe\Verzeichnis1" "\\SERVER2\Freigabe\Verzeichnis1"
"\\SERVER1\Freigabe\Verzeichnis2" "\\SERVER2\Freigabe\Verzeichnis2"
"\\SERVER1\Freigabe\Verzeichnis3" "\\SERVER2\Freigabe\Verzeichnis3"
"\\SERVER1\Freigabe\Verzeichnis4" "\\SERVER2\Freigabe\Verzeichnis4"
"\\SERVER1\Freigabe\Verzeichnis5" "\\SERVER2\Freigabe\Verzeichnis5"
*

Das script soll nun ein verzeichnis nach dem anderen kopieren.

Gibt es da eine möglichkeit das zu realisieren. Das script sollte dann belibig erweitert werden können

(anzahl der Verzeichnisse).

mfg

n4426

Content-Key: 2261

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

Ausgedruckt am: 21.06.2021 um 02:06 Uhr

8 Kommentare
Mitglied: linkit
Also hierfür sind zwei Schritte nötig:

1. Du legst eine Datei an mit der Liste der Verezichnisse die durch ein Leerzeichen getrennt sind:

Beispiel:

Wert1 Wert2
Wert3 Wert4
Wert5 Wert6


2. Du legst eine Batchdatei an, die folgende Zeile beinhaltet, liste.txt mußt du gegebenefalls anpassen. Auch müssen entsprechende xcopy Paramter gesetzt werden. Ansonsten arbeitet nun dieses Batch Zeile für Zeile ab und kopiert mit den entsprechenden Paramtern.

for /f "eol=; tokens=1,2*" %%i in (liste.txt) do @xcopy %%i %%j
Mitglied: linkit
Da du nach Erweiterung gefragt hast. Sinnvoll wäre Beispielsweise, wenn du die Verzeichnisse mit unterschiedlichen XcopyParamtern kopieren willst, daß man diese in einer dritten Spalte angibt.... Hier besteht allerdings das Problem, daß das Leerzeichen als Trennung der Sätze nicht mehr funktioniert, da ja xcopy getrennte Paramter benötigt. Ausweichen kannst du mit der FOR Option delims= hier kannst du ein anderes Zeichen dazu bestimmen.

Beispiel:

Verz1 § Verz2 § /e /s
Verz3 § Verz4 §
Verz5 § Verz6 § /h


Die Forzeile müßte dann so aussehen

for /f "eol=; tokens=1,2,3* delims=§" %%i in (liste.txt) do @xcopy %%i %%j %%k


Falls du dich gefragt hast, wofür eol=; steht. Hier kannst du in deine liste.txt durch ; Kommentarzeilen einfügen.


FOR bietet noch viele Möglichkeiten.

Gib einfach mal Start => Ausführen => CMD => okay
und dann for /? ein
Mitglied: 5274
Das könnte funktionieren, ist aber nicht getestet

~~~~~~~~~~
Option Explicit
Const ForReading = 1

Dim objFSO, f1, strCopyPath
Dim arCopyPath(2) as String

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set f1 = objFSO.OpenTextFile("\Pfad\zur\Datei.txt", ForReading)

Do While f1.AtEndOfStream <> True
strCopyPath = f1.ReadLine
arCopyPath = Split(strCopyPath)
strCopyPath = arCopyPath(0) & ", " & arCopyPath(1)
f1.CopyFolder strCopyPath, True
Loop
f1.Close
strCopyPath = ""
arCopyPath = nothing
~~~~~~~~~~
Wenn du deine Vorgabedatei entsprechen anpasst (Komma und Leerzeichen zwischen den Pfaden) kannst du dir die Stringbastlerei sparen.

Hermann
Mitglied: n4426
Hallo,

funktioniert soweit einwandfrei, nur ich habe das Problem, das mein Verzeichnis so aussieht.

"\\SERVER\Group\Office\Word 2004\"

hat einer von euch eine idee, wie ich ihm das beibringen kann.

mfg

n4426
Mitglied: n4426
ich habs jetzt so gelöst.

for /f "eol=; tokens=1,2* delims=," %%i in (Verzeichnisse.txt) do @xcopy %%i %%j /y /E /I

Weis einer von euch wie ich es hinbekomme, das er vor dem kopieren des Verzeichnisses erst das bestehende auf dem Zierlserver löscht (Befehl rmdir).

Ich hatte erst diese Idee. Aber dabei werden erst alle Verzeichnisse gelöscht und dann die neuen draufgespielt.

for /f "eol=; tokens=1,2* delims=," %%i in (Verzeichnisse.txt) do @rmdir %%j /S /Q
for /f "eol=; tokens=1,2* delims=," %%i in (Verzeichnisse.txt) do @xcopy %%i %%j /y /E /I


Ich hätte es aber gerne so gehabt

1. Verzeichnis 1 Löschen
2. Verzeichnis 1 Kopieren
3. Verzeichnis 2 Löschen
4. Verzeichnis 2 Kopieren

mfg

n4426
Mitglied: SunSailer
Ich hätte es aber gerne so gehabt

1. Verzeichnis 1 Löschen
2. Verzeichnis 1 Kopieren
3. Verzeichnis 2 Löschen
4. Verzeichnis 2 Kopieren

Ich würde es so machen!

Script1 Name z.b. Call_GO.cmd
Inhalt:
(kurz in Excel dann kopieren)
Call GO.cmd Quellverzeichnisname1 Zielverzeichnisname1
Call GO.cmd Quellverzeichnisname2 Zielverzeichnisname2
Call GO.cmd Quellverzeichnisname3 Zielverzeichnisname3
Usw.

Script2 Name GO.CMD (beide in ein Verzeichnis legen)
Inhalt:

Set SERVQ=QuellServer1
Set SERVZ=ZielServer2
Set VERZQ=%1%
Set VERZZ=%2%


Rd %SERVZ%%1% /s /q

Xcopy %SERVQ%%1% %SERVZ%%2% /s /y usw?

Jetzt wird immer im wechsel gelöscht und kopiert
Gruß
Hans
Mitglied: Biber
Moin Andi,

pack Deinen Source in eine FOR..IN..DO-Anweisung.

Gruß
Biber
Mitglied: n4426
Hi,

mittlerweile hab ich das ganze auf Robocopy umgestellt.



Aber trozdem Danke.

mfg

andi
Heiß diskutierte Beiträge
Netzwerke
Kassen freezen ohne ersichtlichen Grund
Ronic1Vor 1 TagFrageNetzwerke12 Kommentare

Hallo Zusammen, ich schreibe heute zum ersten Mal in diesem Forum. Also weißt mich bitte auf etwaige Fehler meinerseits hin. Wie ich in anderen Beiträgen ...

Router & Routing
Deutsche Glasfaser. NT direkt an pfSense möglich oder besser Kaskade?
fnbaluVor 1 TagFrageRouter & Routing23 Kommentare

Hallo zusammen, am kommenden Mittwoch wird bei mir der Deutsche Glasfaser Anschluss aktiviert. Anfangs wird darüber kein Telefon laufen, aber vielleicht später. Mir stellt sich ...

Notebook & Zubehör
Alt-Laptop Vergleichsmeinungen
winlinVor 14 StundenFrageNotebook & Zubehör13 Kommentare

Hallo zusammen Habe zwei Laptops und einen mini pc und würde gerne wissen was ihr zu den beiden Laptops sagt??? Was dürfte ich Max an ...

Batch & Shell
Problem mit einer Batchdatei
stevie72Vor 1 TagFrageBatch & Shell11 Kommentare

Guten Abend zusammen! Ich habe ein problem eine Batch ans laufen zu bekommen. Folgende Problem Stellung: Wir haben etwa 20 Rechner in der Bibliothek. Darauf ...

TK-Netze & Geräte
Starface mit NGN verliert Gateway
FabezzVor 1 TagFrageTK-Netze & Geräte9 Kommentare

Guten Morgen zusammen, ich hoffe dass ich das richtige Thema getroffen habe. In unserer Firma wurde beschlossen dass die in die Tage gekommene Openscape ausgetauscht ...

Virtualisierung
Adobe Flash Player für Zugriff auf VMWare Horizon
Moenchengladbacher-ITVor 1 TagFrageVirtualisierung5 Kommentare

Liebes Support Team, unser Kunde verwendet eine "VMWare Horizon" Applikation, von dem aus Anwendungen/Browser/etc in einer virtuellen Sandbox gestartet werden. Alle Clients haben kein Zugriff ...

Windows 10
Remotedesktopzugang mit Openvpn sicher?
LegofrauVor 17 StundenFrageWindows 106 Kommentare

Guten Morgen, wie sicher ist es wenn man Remotedesktopzugang durch einen Openvpn Tunnel betreibt? Der Openvpn Tunnel ist mit aktuellen Zertifikaten abgesichert. Der Pc hat ...

Firewall
OpenVPN-Problem
gelöst ingorosVor 9 StundenFrageFirewall19 Kommentare

Hallo, habe gestern mit ipfire einen OpenVPN-Server aufgesetzt. Der läuft auch wunderbar. Sowohl Win7, wie auch Win10pro können sich problemlos anmelden. Ein Laptop mit Win10 ...