Jump to content

Batchdatei für automatisches kopieren


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Hallo Community,

 

ich würde gerne eine Batchdatei erstellen, die automatisch neu hinzugefügte Dateien in einen andern Ordner kopiert ohne die Batchdatei jedes Mal neu ausführen zu müssen. 
 

Kann man sowas durch Schleifen oder Ähnliches lösen?
 

Beispiel:

Batchdatei wird nach dem Hochfahren einmalig ausgeführt

 

Dateien werden durch einen längeren Kopiervorgang nach und nach erst zum Ordner 1 hinzugefügt und sollen parallel aber automatisch nach Ordner 2 mit synchronisiert werden. 

 

Link zu diesem Kommentar
vor 43 Minuten schrieb SimonZoller:
 

Kann man sowas durch Schleifen oder Ähnliches lösen?

Simon, Hallo und willkommen im MCSEboard.

 

Die Antwort auf die einzige Frage, die Du gestellt hast ist ganz kurz: Ja. ;-) 

 

Bevor Du jetzt weiterfragst - auch das hier ist kein kostenloser Scripting-Service. Es gibt für solche Aufgabenstellungen unzählige Beispiele überall im Netz und auch hier. Es wird also erwartet, dass Du erstmal Deine Hausaufgaben machst und wenigstens einen eigenen Versuch unternimmst, Deine Aufgabe zu lösen. Wenn Du dann dabei auf Probleme stößt, kannst Du sehr sehr gern Deinen Code hier posten und ich verspreche Dir, wir werden uns beim Versuch, Dir zu helfen, beide Beine ausreißen.  ;-) 

Zahlreiche Code-Beispiele für Powershell-Scripte findet z.B. bei PowershellGallery oder StackOverflow oder im Deutschen Microsoft Windows Powershell Forum

Link zu diesem Kommentar

Vielen Dank! :-)

 

Ich muss gestehen, dass ich ein absoluter Anfänger bin.

 

 

Die ursprüngliche Batchdatei zum kopieren lautet bei mir wie folgt:

 

xcopy "C:\Users\X\Desktop\Ordner 1" "C:\Users\X\Desktop\Ordner 2"

 

 

Dann habe ich versucht eine Schleife einzubringen damit die Ordner dauerhaft synchronisieren ohne den Batchbefehl jedes Mal aufs Neue ausführen zu müssen und genau da hapert es bei mir:

 

for %%i in "C:\Users\X\Desktop\Ordner 1" do copy "C:\Users\X\Desktop\Ordner 2"

 

 

 

Link zu diesem Kommentar
vor 11 Minuten schrieb SimonZoller:

Dann habe ich versucht eine Schleife einzubringen damit die Ordner dauerhaft synchronisieren ohne den Batchbefehl jedes Mal aufs Neue ausführen zu müssen und genau da hapert es bei mir:

Moin

 

Das funktioniert so nicht, es funktioniert so nicht mit der for-schleife. Die for ist dazu nicht geeignet. Du wirst dich mit PS anfreunden müssen.

bearbeitet von lefg
Link zu diesem Kommentar

OK, Es gibt mit hoher Wahrscheinlichkeit, eine Möglichkeit, die Aufgabe mit den Mitteln von CMD/Batch zu erledigen. Ich persönlich kann Dir dabei aber nicht helfen. Ich finde die Syntax von CMD/Batch krude und absolut un-intuitiv und bin damit nie warm geworden. Das macht aber nix, weil es schon lange eine mächtige, vielseitige, sehr gut dokumentierte und auch sehr aktiv weiterentwickelte und wie ich finde, deutlich einfachere Alternative gibt - Powershell. Es dauert nicht lange, sich die Grundlagen zu Erarbeiten und man bekommt dafür im Netz an allen Ecken und Enden Hilfe. Und wenn man vorhat, noch eine Weile in Windows-System-Umgebungen "unterwegs" zu sein, dann lohnt sich der Aufwand, das zu erlernen, auf jeden Fall.

Meine Empfehlung wäre also, nicht weiter zu versuchen, die Aufgabe mit CMD/Batch zu lösen, sondern sich die Zeit zu nehmen,  und mit Powershell anzufangen. Es gibt dazu zahlreiche gute Quellen im Internet, wo man anfangen kann. Ich empfehle immer noch gern folgende:

 

Getting Started with PowerShell 3.0    - ja, die Videos sind schon alt und es geht nicht um die aktuelle Version, aber die Grundlagen sind immer noch die Gleichen und es ist eben für Anfänger gemacht.

 

Windows PowerShell™ 4: TFM     - das Gleiche wie bei den Videos - für den Einstieg zu nachschlagen meiner Meinung nach völlig ausreichend ... den Rest findet man im Netz oder in Foren, wie diesem hier.

 

Viel Spaß!

bearbeitet von BOfH_666
Link zu diesem Kommentar
vor 9 Stunden schrieb SimonZoller:

for %%i in "C:\Users\X\Desktop\Ordner 1" do copy "C:\Users\X\Desktop\Ordner 2"

 

Die for ist keine herkömmliche wie in höheren Programmiersprachen, es gibt keine eingebaute Abbruchsteuerung, sie läuft bis zum "bitteren" Ende durch, einen Abbruch muss man sich selbst schaffen durch einen Sprung aus der Schleife. Für Textiteration/Zeichenkettenverarbeitung muss for /f verwendet werden. Man schaue in die Hilfe for /? ! Ich sags mal so, es ist nichts für Anfänger. Ich würde es heute wohl nicht mehr anfassen.

 

Robocopy halte ich für einen gute Idee.

bearbeitet von lefg
Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...