![]() |
.bat-Sicherung prüfen
Hallo,
ich hab wieder mal eine Frage zu einem Batch. Ich sichere diverse Dateien mit einem .bat auf Diskette. Es wäre ideal wenn ich noch irgentwie überprüfen könnte ob die Sicherung funktioniert hat, also ob wirklich was auf Diskette kopiert wurde. Kann ich das in einer If-Else Schleife abfragen? |
Nur so aus dem ff ohne Gewähr:
Mit if exist kannst du überprüfen ob die Datei vorhanden ist. if exist a:\xxx.xxx goto "label sowieso" mit fc /b (file compare binary), kannst überprüfen ob sie gleich dem Original ist. /Anfang Beispiel @echo off :datei1 if exist a:\datei1.xxx goto compare1 set fehler=datei1 goto error :datei2 if exist a:\datei2.xxx goto compare2 set fehler=datei2 goto error ... Ab da muss wegen der fehlerbehandlung selber schaun, bin zu faul. :compare1 fc /b a:\datei1.xxx "pfad zur originaldatei eg. c:\windows\datei1.xxx" goto datei2 :compare2 fc /b a:\datei1.xxx "pfad zur originaldatei eg. c:\windows\datei1.xxx" goto datei3 ... :error echo Die Datei %fehler% ist fehlerhaft. goto ende :ende echo Und alles ist gut. /Ende Beispiel HTH PS: Da sind sicher Fehler drinnen, also verlass dich nicht auf das. Ist nur ein Beispiel wie ich es machen würde, gibt sicher elegantere Lösungen. |
Falls es jemand interessiert wie ich das gelöst habe:
@echo off :Start Echo ----------------------------------------------------- Echo Legen Sie bitte eine Diskette in Laufwerk A: ein..... Echo ----------------------------------------------------- Pause REM Falls der copy-Befehl nicht funktioniert und nicht die alte Datei REM dann bei "if exist" true liefert lösche ich diese zuerst weg Del A:\ABC.doc Copy ABC.doc A: If exist A:\ABC.doc Goto Vergleich Goto Error :Vergleich fc /B A:\ABC.doc "D:\Eigene Dateien\hie\013\ABC.doc" Goto SicherungEnde :SicherungEnde Echo -------------------------------------------------------------- Echo Sicherung beendet, bitte obige Meldung (FC:) pruefen blablabla Echo -------------------------------------------------------------- Pause Goto End :Error Echo ----------------------------------------------------- Echo Sicherung nicht korrekt beendet Echo ----------------------------------------------------- Pause :End Also derjenige der die Datei sichert muß die FC Meldung prüfen ob Unterschiede festgestellt wurden, und falls die Datei nicht auf Diskette existiert gebe ich eine eindeutige Meldung aus. Falls jemand Verbesserungsvorschläge hat bitte teilt mir diese mit! |
Mir ist noch was eingefallen.
Du könntest beim kopieren den /V (Verify) Schalter setzen, also copy /v irgendwas irgendwohin, und dann die Ausgabe des copy-Befehls ansehen. Dann sollte es richtig geschrieben worden sein und du brauchst es nicht überprüfen. Mfg |
Also könnte ich den ganzen Schnickschnack vergessen und das einfach so machen:
@echo off :Start Copy EDVWichtigeBegriffe.doc A: /V :End |
Meines Erachtens ja. Versuchs mal mit einer defekten Diskette und kopier etwas drauf und schau was der copy-Befehl ausgibt.
mfg |
Alle Zeitangaben in WEZ +2. Es ist jetzt 17:08 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag