WCM - Das österreichische Computer Magazin Forenübersicht
 

Zurück   WCM Forum > Rat & Tat > Programmierung

Programmierung Rat & Tat für Programmierer

Microsoft KARRIERECAMPUS

Antwort
 
Themen-Optionen Ansicht
Alt 14.08.2001, 14:46   #1
dietz
Senior Member
 
Registriert seit: 19.04.2001
Alter: 50
Beiträge: 165


Standard .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?
dietz ist offline   Mit Zitat antworten
Alt 14.08.2001, 15:11   #2
flinx
Inventar
 
Registriert seit: 08.04.2001
Beiträge: 3.101


Standard

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.
flinx ist offline   Mit Zitat antworten
Alt 14.08.2001, 16:25   #3
dietz
Senior Member
 
Registriert seit: 19.04.2001
Alter: 50
Beiträge: 165


Standard

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!
dietz ist offline   Mit Zitat antworten
Alt 14.08.2001, 18:46   #4
flinx
Inventar
 
Registriert seit: 08.04.2001
Beiträge: 3.101


Standard

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
flinx ist offline   Mit Zitat antworten
Alt 16.08.2001, 09:43   #5
dietz
Senior Member
 
Registriert seit: 19.04.2001
Alter: 50
Beiträge: 165


Standard

Also könnte ich den ganzen Schnickschnack vergessen und das einfach so machen:

@echo off

:Start

Copy EDVWichtigeBegriffe.doc A: /V

:End
dietz ist offline   Mit Zitat antworten
Alt 16.08.2001, 16:41   #6
flinx
Inventar
 
Registriert seit: 08.04.2001
Beiträge: 3.101


Standard

Meines Erachtens ja. Versuchs mal mit einer defekten Diskette und kopier etwas drauf und schau was der copy-Befehl ausgibt.

mfg
flinx ist offline   Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 21:12 Uhr.


Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Forum SEO by Zoints
© 2009 FSL Verlag