WinFuture-Forum.de: wer kann bei Batchabläufen helfen? - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Software
  • 2 Seiten +
  • 1
  • 2

wer kann bei Batchabläufen helfen?


#1 Mitglied ist offline   Axel18 

  • Gruppe: aktive Mitglieder
  • Beiträge: 295
  • Beigetreten: 08. März 09
  • Reputation: 0

geschrieben 24. Juli 2014 - 10:36

Ich habe eine Batch-Datei erstellt, um diverse Dateien auf andere Medien zu kopieren, um wenigstens zwei – manchmal auch 3 - Sicherungen zu haben.
Das geschieht per "xcopy ...."

Im Grunde genommen habe ich dreimal die gleichen xcopy-Befehle gegeben, lediglich die Ziele varieren.

Jedenfalls dachte ich, dass das so geht, aber nun habe ich festgestellt, dass lediglich der erste „Block“ von Dateien auf Medium 1 kopiert wird.

Der gleiche Block, den auf Medium 2 und 3 gehen sollte, ist dort aber nicht zu finden.
Ich nehme an, dass das Archivbit beim ersten Kopieren zurückgesetzt wird und daher die Aktion 2 und 3 nicht klappt (klappen kann).

Gibt es einen anderen Batchbefehl zum Kopieren, der mir das Archivbit nicht zurücksetzt, bzw. gibt es einen versteckten Trick bei XCOPY dafür? In der Hilfe habe ich nicht dazu gefunden.

Axel
0

Anzeige



#2 Mitglied ist offline   XiLeeN2004 

  • Gruppe: aktive Mitglieder
  • Beiträge: 577
  • Beigetreten: 16. Juni 04
  • Reputation: 49

geschrieben 24. Juli 2014 - 11:28

Es wäre sehr hilfreich, wenn du deine Batch hier posten würdest, so hat das etwas von stochern im Nebel... Um auf deine Vermutung einzugehen, wenn man den /a Parameter verwendet, werden nur Dateien mit gesetztem Archivattribut kopiert, ohne selbiges zurückzusetzen. Im letzten Durchgang, dann halt normal mit /m kopieren um das Archivattribut zu resetten.
Eingefügtes Bild
0

#3 Mitglied ist offline   DanielDuesentrieb 

  • Gruppe: aktive Mitglieder
  • Beiträge: 9.049
  • Beigetreten: 15. Januar 06
  • Reputation: 204

geschrieben 24. Juli 2014 - 11:46

Geht da nicht auch FreeFileSync? Da kannst Du alles grafisch einstellen und den Job als *.batch abspeichern.
0

#4 Mitglied ist offline   Stefan_der_held 

  • Gruppe: Offizieller Support
  • Beiträge: 13.530
  • Beigetreten: 08. April 06
  • Reputation: 593

geschrieben 24. Juli 2014 - 11:46

Soll es eine reine Dateisicherung sein? Dann würde ich nicht wirklich mit "Archivbit" arbeiten

xcopy X:\QUELLPFAD\*.* Y:\ZIELPFAD /D



kopiert bspw. nur Dateien die im Zielpfad älter /nicht vorhanden sind

Soll eine Verzeichnisstruktur übernommen werden muss noch ein weiterer Parameter mitgegeben werden
Der Vorteil gegenüber einer Synchronsiation ist besonders, dass eine nicht mehr auf "Y" existierende Datei nicht einfach auf "X" gelöscht wird.

xcopy X:\QUELLPFAD\*.* Y:\ZIELPFAD /D /E



Hier wird zusätzlich die gesamte existierende Verzeichnisstruktur übertragen - egal ob die Quellverzeichnisse aktuell leer sind oder nicht.

ABER:

Wie mein Vorredner schon schrieb ist es durchaus sinnvoll deinen Script zu bekommen um ggf. diesen auf Fehler zu prüfen.
0

#5 Mitglied ist offline   Axel18 

  • Gruppe: aktive Mitglieder
  • Beiträge: 295
  • Beigetreten: 08. März 09
  • Reputation: 0

geschrieben 25. Juli 2014 - 11:02

Ja, Ihr habt Recht. Die Batch-Datei kann hoffentlich wewiterhelfen.

So wie sie aufgebaut ist, müsste sie eigentlich funktionieren, aber er klappt nur der erste Teil.
Das Kopieren nach LW "P" klappt, alles weitere nicht.

Bin gespannt, ob jemand den Fehler findet (hoffentlich!!)

Axel

Angehängte Datei  Sichern_auf_P.zip (413bytes)
Anzahl der Downloads: 38
0

#6 Mitglied ist offline   d4rkn3ss4ev3r 

  • Gruppe: aktive Mitglieder
  • Beiträge: 4.415
  • Beigetreten: 03. Januar 09
  • Reputation: 636

geschrieben 25. Juli 2014 - 11:09

Du hast manche Argumente ohne Leerzeichen drin zu stehen. zB xcopy d:\backup\powerpoint\*.* p:\backup\powerpoint /y /s /i/a
Dann hast du einmal copy statt xcopy im Einsatz. Copy kennt aber kein /s /t

Ansonsten sieht alles soweit okay aus.
"Jene, die grundlegende Freiheit aufgeben würden, um eine geringe vorübergehende Sicherheit zu erwerben,
verdienen weder Freiheit noch Sicherheit." (Benjamin Franklin)


ACTA] | IPRED | SOPA | PIPA | CISPA | INDECT | TPP | TAFTA | Stop CETA + Stop TTIP + Stop TiSA
> Mein Hells Toolbox CMD Script <
1

#7 Mitglied ist offline   Stefan_der_held 

  • Gruppe: Offizieller Support
  • Beiträge: 13.530
  • Beigetreten: 08. April 06
  • Reputation: 593

geschrieben 25. Juli 2014 - 11:46

Beitrag anzeigenZitat (d4rkn3ss4ev3r: 25. Juli 2014 - 11:09)

Ansonsten sieht alles soweit okay aus.


Naja fehlerfrei ist etwas anderes....

in letzter Zeile heben sich die Argumente gegenseitig auf:

/t = kopieren der Verzeichnisstruktur ohne Kopieren der Inhalte
/e = kopieren der verzeichnsstruktur inklusive der Inhalte - egal ob Ordner leer oder nicht.

Da würde ich auch streiken.

Im Großen und ganzen lässt sich das sogar wie oben beschrieben zusammen fassen/übersichtlicher halten:

@echo off
xcopy d:\backup\*.* p:\backup\ /d /e
xcopy p:\backup\*.* i:\eigene_dateien\ /d /e
xcopy i:\backup\*.* s:\eigene_dateien\ /d /e
del d:\backup\*.* /s /q
xcopy P:\backup\*.* d:\backup\ /d /e
pause



durch das "/d"-Argument ohne Datumsangabe wird sogar dafür gesorgt, dass nicht evtl. identische/unveränderte Dateien nochmal kopiert werden. Somit werden nur noch Dateien Kopiert die nicht neuer sind als bestehende Zieldateien.

sicherheitshalber würde ich allerdings die "del"-Zeile raus lassen. Sonst sägt man sich im Fehlerfall den Ast unterm Hintern weg auf dem man gerade sitzt.

Dieser Beitrag wurde von Stefan_der_held bearbeitet: 25. Juli 2014 - 11:50

1

#8 Mitglied ist offline   Axel18 

  • Gruppe: aktive Mitglieder
  • Beiträge: 295
  • Beigetreten: 08. März 09
  • Reputation: 0

geschrieben 25. Juli 2014 - 13:12

Danke für Eure Gedanken, die "Fehler" habe ich korrigiert, aber ich erziele das gleicht unbefriedigende Ergebnis.

Die Lösung von Stefan klappt leider auch nicht, es wird nur nach "P" kopiert, aber leider nicht in die anderen Laufwerke.

Schönes Wochenende
Axel
0

#9 Mitglied ist offline   Stefan_der_held 

  • Gruppe: Offizieller Support
  • Beiträge: 13.530
  • Beigetreten: 08. April 06
  • Reputation: 593

geschrieben 25. Juli 2014 - 14:08

Dann würde ich mal Prüfen ob auf den anderen Laufwerken innerhalb der benannten Verzeichnisse auch der Zugriff (Stichwort: NTFS-Berechtigungen) für den anwendenden benutzer bestehen.

Zur Analyse hilft da meist nach jedem Befehl eine Zeile mit

pause



zu setzen. so kann man prüfen ob und was da fehl schlägt.
0

#10 Mitglied ist offline   d4rkn3ss4ev3r 

  • Gruppe: aktive Mitglieder
  • Beiträge: 4.415
  • Beigetreten: 03. Januar 09
  • Reputation: 636

geschrieben 25. Juli 2014 - 21:37

Okay, ja du hast Recht Stefan. Ich habe nicht die einzelnen Argumente auf Gegenseitig geprüft, sondern nur allgemein die Befehle geprüft.
Punkt für dich :D
"Jene, die grundlegende Freiheit aufgeben würden, um eine geringe vorübergehende Sicherheit zu erwerben,
verdienen weder Freiheit noch Sicherheit." (Benjamin Franklin)


ACTA] | IPRED | SOPA | PIPA | CISPA | INDECT | TPP | TAFTA | Stop CETA + Stop TTIP + Stop TiSA
> Mein Hells Toolbox CMD Script <
0

#11 Mitglied ist offline   Axel18 

  • Gruppe: aktive Mitglieder
  • Beiträge: 295
  • Beigetreten: 08. März 09
  • Reputation: 0

geschrieben 27. Juli 2014 - 10:02

Auch Eure beiden Hinweise habe ich überprüft. Zugriffberechtigung muss ich deswegen eigentlich haben, da ich ja manuell Dateien auf die genannten LW / Ordner kopieren kann.

Ich habe jetzt also Folgendes gemacht.
Meine Batch-Datei habe ich in 3 einzelne Batchs aufgeteilt.

Lasse ich im ersten Schritt die Dateien von D: nach P: kopieren, klappt das.

@echo off
xcopy d:\backup\excel\*.* p:\backup\excel /y /s /a
xcopy d:\backup\winword\*.* p:\backup\winword /y /s /a
xcopy d:\backup\powerpoint\*.* p:\backup\powerpoint /y /s /i /a
xcopy d:\backup\vorlagen\*.* p:\backup\vorlagen /y /s /i /a
xcopy d:\backup\X_diverse\*.* p:\backup\x_diverse /y /s /i /a
xcopy d:\backup\access\*.* p:\backup\access /y /s /a
pause

Dann kommt in einer zweiten Batch Teil 2:

@echo off
xcopy d:\backup\excel\*.* i:\eigene_dateien\excel /y /s /t /a
xcopy d:\backup\winword\*.* i:\eigene_dateien\winword /y /s /t /a
xcopy d:\backup\powerpoint\*.* i:\eigene_dateien\powerpoint /y /s /i /t /a
xcopy d:\backup\vorlagen\*.* i:\eigene_dateien\vorlagen /y /s /t /a
xcopy d:\backup\access\*.* i:\eigene_dateien\access /y /s /t /a
pause

Jetzt wird überhaupt nichts kopiert!!! Im Verzeichnis D:\backup\... haben alle Dateien noch das „A“-Attrubut, müssten also lopiert werden können (müssen)

Teil 2 habe ich nach Ablauf von Teil 1 auch versucht, von „P:“ nach „I:“ zu kopieren, ebenfalls kein Ergebnis, auch auf „P“ steht weiterhin das A-Attribut.

Teil 3 erkläre ich hier nicht, weil es nur ein weiteres, negatives Ergebnis bringt.

Warum also kann ich per Batch den 2. Teil nicht durchführen?

Ich wünsche einen schönen Sonntag

Axel
0

#12 Mitglied ist offline   Shannon 

  • Gruppe: aktive Mitglieder
  • Beiträge: 41
  • Beigetreten: 12. Februar 13
  • Reputation: 1

geschrieben 27. Juli 2014 - 11:13

Das kann ja nicht funktionieren

Hilfe mit: xcopy /?
"/T Erstellt die Verzeichnisstruktur, kopiert aber keine Dateien.
Leere oder Unterverzeichnisse werden nicht kopiert.
Um auch diese zu kopieren, müssen Sie die Optionen /T /E angeben."

mit der Option /t wird einfach nichts kopiert.

edit: Absätze Eingefügt.
g.s.

Dieser Beitrag wurde von Shannon bearbeitet: 27. Juli 2014 - 11:15

0

#13 Mitglied ist offline   Stefan_der_held 

  • Gruppe: Offizieller Support
  • Beiträge: 13.530
  • Beigetreten: 08. April 06
  • Reputation: 593

geschrieben 27. Juli 2014 - 11:15

Was ist die Ausgabe in der Komandozeile wenn du den ersten Befehl des zweiten Teils TIPPST?

Wenn da bspw. irgendwo ein Leerzeichen im Pfadname+Dateiname steht musst du den wie folgt umarbeiten

xcopy "d:\backup\Excel\*.*" "i:\eigene_dateien\Excel\"  /y /s /t /a 



zudem empfehle ich dir der Korrektheit jede PFADANGABE mit einem "\" ab zu schließen. Sonst kommt im Zweifelsfall die Frage ob das Ziel eine Datei oder ein Verzeichnis ist.
0

#14 Mitglied ist offline   Stefan_der_held 

  • Gruppe: Offizieller Support
  • Beiträge: 13.530
  • Beigetreten: 08. April 06
  • Reputation: 593

geschrieben 27. Juli 2014 - 11:22

Beitrag anzeigenZitat (Shannon: 27. Juli 2014 - 11:13)

Um auch diese zu kopieren, müssen Sie die Optionen /T /E angeben."


Das "/" ist überflüssig da "/E" das schon erledigt. hebt sich nicht gegenseitig auf aber ist halt doppelt

ehr ist hier "/T" mit "/s" unsinnig - auch wenn es technisch keinen Unterschied macht.

Ich würde wie weiter oben geschrieben den Befehl mit "/E" und einem ergänzenden "/D" verkürzen. Trotzdem muss ansich mit dem Befehl des TE etwas kopiert werden - kann mir höchstens noch irgendwo in der Summe versteckte Leerzeichen vorstellen die den Kopiervorgang dann abbrechen
0

#15 Mitglied ist offline   Shannon 

  • Gruppe: aktive Mitglieder
  • Beiträge: 41
  • Beigetreten: 12. Februar 13
  • Reputation: 1

geschrieben 27. Juli 2014 - 11:37

ok - MS hilfe vieleicht etwas missverständlich.
mit /T werden nur leere Verzeichnisse von "Verzeichnissen mit Inhalt"
erstellt: (ohne Dateien).

gruss s.
0

Thema verteilen:


  • 2 Seiten +
  • 1
  • 2

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0