shadowhawk
Goto Top

Ist Fehler abfangen wärend eines aktiven xcopy-Befehls möglich?

Hallo zusammen, wiedermal hoffe ich auf euere Unterstützung, die mir schon oft genug geholfen hat face-smile

Ich verwende im Moment eine einfache Bat-Datei um über unser Netzwerk eine tägliche Programmaktualisierung durch kopieren und überschreiben des kompletten Ordnerinhaltes zu erledigen. Anders ist es aus mehreren Gründen leider nicht möglich.

Dabei nutze ich den xcopy-Befehl der mir die Datenmassen kopiert und überschreibt. Wenn die Verbindung vorher schon nicht hergestellt werden kann, bekomme ich eine Rückmeldung in eine eigens Dafür angelegte Log-Datei. Ebenso wenn die Verbindung und die Aktualisierung Erfolgreich waren.

Nun hatten wir mehrfach das Problem, das die Verbindung wärend des Kopiervorganges unterbrochen wurde, oder es bei einzelnen Dateien zu Fehlern kam und die Daten komplett von vorn kopiert werden mussten.

Gibt es eine Möglichkeit, wärend eines aktiven xcopy-Vorganges (Dateien mit * ausgewählt) aufzuschreiben, bei welcher Datei der Fehler aufgetreten ist, wo das Programm abgebrochen hat?

Vielen Dank schonmal für euere Hilfe.

Gruß
Shadowhawk

Content-Key: 110741

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

Printed on: April 19, 2024 at 03:04 o'clock

Member: bastla
bastla Mar 06, 2009 at 15:22:08 (UTC)
Goto Top
Hallo Shadowhawk!

Du könntest beim neuerlichen Kopieren den "xcopy"-Schalter "/d" ohne Angabe eines Datums verwenden - so werden nur neuere oder im Zielordner nicht vorhandene Dateien kopiert.

Grüße
bastla
Member: Shadowhawk
Shadowhawk Mar 06, 2009 at 15:34:11 (UTC)
Goto Top
Damit wäre der Kopiervorgang auf jedenfall schneller, danke. ;)
Dann müsste ich allerdings in unserer Logdatei erfassen, wieviel Dateien kopiert wurden. Gibt´s dafür eigentlich Möglichkeiten, dieses Anzahl auszulesen?

Dann brauch ich trotzdem noch eine Lösung für mein eigentliches Problem. Die Erfassung von Problemdateien am besten in meiner Log-datei face-smile
Mitglied: 60730
60730 Mar 06, 2009 at 15:54:21 (UTC)
Goto Top
Servus,

wenn du mal:
xcopy x:\123.123 y:\123.123
echo %errorlevel%
pause
als minibatch startest, siehst du (außer du hättest sowohl Laufwerk x als auch y und auf x wäre eine datei 123.123) - das der %errorlevel% ganz gut funktioniert.

Wenn du das nuin in etwa so erweiterst:

xcopy x:\123.123 y:\123.123 >c:\log.txt
if not %errorlevel%==0 echo fehler && type c:\log.txt
pause

...sollte dein Log dir eine Antwort geben.
Aber das kann ich grade nicht testen, denn dann müsste ich mir ja mein Netz abklemmen.

Gruß
Member: Biber
Biber Mar 06, 2009 at 16:44:12 (UTC)
Goto Top
Moin Shadowhawk,

für Deine Aufgabenstellung gibt es durchaus "Lösungen", aber im Schritt davor IMHO erstmal eine Strategie-Entscheidung:

Variante A
- benutztes Werkzeug ist und bleibt XCopy, weil wegen.... auf jedem beteiligten Rechner vorhanden, von W2000 bis Vi$ta mehr oder weniger verhaltensgleich, kost nix etc und alles was XCopy nicht über Parameter kann, das schroten wir mit ein paar Zeilen Batch drumherum

Variante B
- benutztes Werkzeug wird ein etwas aufgebohrter XCopy-Verwandter wie Robocopy, XXCopy, ZCopy etc... alles wäre über Parameter hinzubekommen und eine informationshaltige Logdatei ist dann auch dabei.

- Variante C
Die Entscheidung für eine "professionelle" Backup-Mimik wird gefällt - z.B Acronis oder ähnliches. Verzicht auf naturgemäß langsamere/umständlichere Einzel-Dateien-in-ellenlangen-Unterverzeichnisstrukturen rekursiv durcheiern und abwarten, ob Netzverbindung oder der eigene Hauptspeicher der Problemengpass werden.

Wohlgemerkt, wir sind hier im Forum durchaus willens und in der Lage, ein paar Zeilen Bätch zusammenzuharken, die -verglichen mit einigen anderen Kauf-Lösungen- sozusagen auch unter Wasser laufen würden.

Aber der Hinweis darauf, dass es für "wichtige" Daten auch professionelle Lösungen gibt und dass XCopy+ein bissi-Batch-Kleister KEINE Profi-Lösung ist .... das muss sein.

Grüße
Biber
Member: Shadowhawk
Shadowhawk Mar 07, 2009 at 00:33:29 (UTC)
Goto Top
Wie gesagt, am liebsten wäre mir die möglichkeit mit xcopy (Variante A). Da kann ich noch am ehesten was anpassen. ;)

werd Wochenende erstmal in Ruhe die Variante von TimoBeil testen. Vielleicht hilft´s mir ja selbst auf die Lösung zu kommen. face-smile

Das es keine Profi-Lösung ist, ist mir ja auch klar. Aber für das "bisschen" wofür wir es verwenden reicht es auf jedenfall aus.
Wenn es zu kompliziert zum Umsetzen ist, kann mir gern jemand bescheid sagen. Dann werd ich das weglassen und mir irgendwann mal was anderes dafür einfallen lassen face-smile

Aber erstmal danke für euere Hilfe und Lösungsvorschläge ;)
Mitglied: 76109
76109 Mar 07, 2009 at 18:17:28 (UTC)
Goto Top
Hallo!

Versuch mal: xcopy /... x:\*.* y:\*.* > xcopy.txt

Meldungen mit ">" in eine Datei umleiten.

Z.B. Inhalt xcopy.txt:

Datei 1
Datei 2
Datei 3

3 Dateien kopiert

oder

Datei x ' hängen geblieben

Vielleicht hilft das weiter.

Gruß Dieter
Member: Shadowhawk
Shadowhawk Mar 09, 2009 at 12:59:45 (UTC)
Goto Top
Jep, euere Vorschläge haben mir geholfen und mein Chef ist wiedermal zufrieden ^.^
Vielen dank euch allen face-smile


Ergebnis:
Dieses Problem gillt offiziell als :"gelöst" face-smile