Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst Batchdatei bei Fehler abbrechen lassen

Mitglied: Schwinni79

Schwinni79 (Level 1) - Jetzt verbinden

01.09.2008, aktualisiert 17:16 Uhr, 11873 Aufrufe, 7 Kommentare

Hallo zusammen,

ich habe eine Batchdatei erstellt und möchte nun abschließend erreichen, dass diese bei Fehlern an der Stelle abbricht und nicht - wie normalerweise üblich- zum nächsten Befehl innerhalb des Stapels geht.

Hintergrund:

Die Datei arbeitet 5 Vorgänge ab - erst zum Schluß soll eine Kontrolldatei angelegt werden. Ist diese Datei vorhanden, wird eine Bestätigungsmail versendet.

Tritt bei Vorgang 2 aber ein Fehler auf, macht die Stapelverarbeitung, wenn möglich, bei Schritt 3 weiter und legt am Ende immer die Datei an - von Fehlern kein Hinweis.

Ziel ist es, bei einem Fehler, egal an welcher Stelle, die Datei zu beenden, den gesamten Stapelverarbeitsvorgang abzubrechen.

Wie ist das möglich?

Vielen Dank für die Hilfe!

Michael
Mitglied: 60730
01.09.2008 um 14:14 Uhr
Servus,

in solchen Fällen macht es Sinn die Batch in <"code"> <"/code"> - ohne die "" einzufügen.

Du kannst "probieren" %errorlevel% abzufragen oder if not exist oder oder oder...

Aber einfacher wird es, wenn "wir" deinen 5 Schritt Batch Schnippsel sehen und dir am "lebenden" Objekt helfen können.

Gruß
Bitte warten ..
Mitglied: Schwinni79
01.09.2008 um 15:47 Uhr
Hallo Timo,

hier der Code:

01.
@ECHO OFF  
02.
 
03.
 
04.
if not exist c:\scripts\save.log goto ausfuehren 
05.
 
06.
del C:\scripts\save.log 
07.
ECHO Datei wurde geloescht 
08.
 
09.
 
10.
:ausfuehren 
11.
 
12.
ECHO Alle Ueberpruefungen abgeschlossen - Sicherung beginnt jetzt! 
13.
 
14.
 
15.
:: Neue Datei wird geschrieben 
16.
 
17.
ECHO > C:\scripts\save.log 
18.
 
19.
:: Bildschirmausgabe 
20.
 
21.
ECHO Neue Logdatei wurde erstellt am %date% - %time% 
22.
 
23.
:: Eintrag in Logdatei 
24.
 
25.
ECHO Neue Logdatei wurde erstellt am %date% - %time% > C:\scripts\save.log 
26.
 
27.
 
28.
::------------------------------------------------------- 
29.
 
30.
:: Alte NTBACKUP Logfiles entfernen 
31.
 
32.
DEL "C:\Dokumente und Einstellungen\Administrator\Lokale Einstellungen\Anwendungsdaten\Microsoft\Windows NT\NTBackup\data\*.log" 
33.
 
34.
ECHO Alte NTBACKUP Logdatei enfernt >> C:\scripts\save.log 
35.
 
36.
::-------------------------------------------------------- 
37.
 
38.
ECHO NTBACKUP beginnt 
39.
ECHO NTBACKUP beginnt >> C:\scripts\save.log 
40.
 
41.
C:\WINDOWS\system32\ntbackup.exe backup "@C:\Dokumente und Einstellungen\Administrator\Lokale Einstellungen\Anwendungsdaten\Microsoft\Windows NT\NTBackup\data\backup.bks" /n "backup.bkf wurde erstellt durch 27.08.2008 um 12:12" /d "Satz am 27.08.2008 um 12:12 erstellt" /v:yes /r:no /rs:no /hc:off /m normal /j "backup" /l:s /f "C:\BACKUP\backup.bkf" 
42.
 
43.
 
44.
ECHO NTBACKUP abgeschlossen >> C:\scripts\save.log 
45.
 
46.
::-------------------------------------------------------- 
47.
 
48.
 
49.
CALL C:\scripts\tc-mount.bat 
50.
 
51.
 
52.
ECHO DASI-Platte eingebunden und entschluesselt >> C:\scripts\save.log 
53.
 
54.
 
55.
ECHO Dateien werden kopiert >> C:\scripts\save.log 
56.
 
57.
 
58.
CALL C:\scripts\sicherung-teil2-kix.bat 
59.
 
60.
 
61.
ECHO Alle Dateien wurden erfolgreich kopiert >> C:\scripts\save.log 
62.
 
63.
CALL C:\scripts\tc-dismount.bat 
64.
 
65.
 
66.
ECHO DASI-Platte ausgebunden und verschluesselt >> C:\scripts\save.log 
67.
 
68.
 
69.
ECHO Datensicherung abgeschlossen - %date% - %time% >> C:\scripts\save.log 
70.
 
71.
REM Logdateien zusammenführen 
72.
 
73.
ECHO LOGDATEIEN WERDEN ZUSAMMENGEFASST 
74.
 
75.
ECHO. >> result.txt 
76.
ECHO -----------ANFANG DASI-PROTOKOLL---------------------------- >> result.txt 
77.
ECHO. >> result.txt 
78.
 
79.
type save.log >> result.txt 
80.
 
81.
ECHO. >> result.txt 
82.
ECHO -----------ENDE DASI-PROTOKOLL---------------------------- >> result.txt 
83.
ECHO. >> result.txt 
84.
ECHO. >> result.txt 
85.
ECHO. >> result.txt 
86.
ECHO. >> result.txt 
87.
ECHO. >> result.txt 
88.
ECHO -----------ANFANG NTBACKUP-PROTOKOLL---------------------------- >> result.txt 
89.
ECHO. >> result.txt 
90.
 
91.
type "C:\Dokumente und Einstellungen\Administrator\Lokale Einstellungen\Anwendungsdaten\Microsoft\Windows NT\NTBackup\data\*.log" >> result.txt 
92.
 
93.
ECHO. >> result.txt 
94.
ECHO. >> result.txt 
95.
ECHO -----------ENDE NTBACKUP-PROTOKOLL---------------------------- >> result.txt 
96.
ECHO. >> result.txt 
97.
 
98.
ECHO LOGADATEIEN WURDEN ZUSAMMENGEFASST 
99.
 
100.
blat "C:\scripts\result.txt" -to info@domain.com -subject "Datensicherung erfolgreich!" -f info@domain.com  
101.
ECHO EMAIL WIRD VERSENDET 
102.
 
103.
pause 
104.
 
Wenn z.B. der Befehl

01.
CALL C:\scripts\tc-mount.bat
nicht ausgeführt werden konnte, weil die entsprechende Festplatte nicht erreichbat war, soll das Script abbrechen und nicht die Mail per blat.exe versenden...

Verstehst du, worauf ich hinaus will?

Michael
Bitte warten ..
Mitglied: AndreasHoster
01.09.2008 um 16:08 Uhr
Unter der Vorraussetzung, daß c:\script\tc-mount.bat einen Errorlevel zurückgibt, wenn ein Fehler aufgetreten ist, kann man das mit
01.
CALL C:\scripts\tc-mount.bat 
02.
if errorlevel 1 exit /b
erreichen.
Errorlevel 0 ist erfolgreich, 1 oder höher gibt Fehler an.
Allerdings muß ein Script entsprechend programmiert sein, damit es Errorlevels zurückgibt. Ohne Rückgabe hast Du nicht viele Chancen mitzukriegen, ob das Skript erfolgreich lief.
Bitte warten ..
Mitglied: Schwinni79
01.09.2008 um 16:16 Uhr
Hallo zusammen,

wie stelle ich das denn mit den errorlevels an - das o.g. script mountet eine mit TrueCrypt verschlüsselte externe HDD. Wo und wie kontrolliere ich denn auf errorlevel und interpetiere sie anschließend?

Michael
Bitte warten ..
Mitglied: 60730
01.09.2008 um 16:32 Uhr
Servus,

CALL C:\scripts\tc-mount.bat
"sagt" mir natürlich nicht so viel.

Ich würde es so lösen:

01.
if not exist \\meinserver\meinefreigabe>nul @echo Ziel nicht gefunden >> C:\scripts\save.log && goto end 
02.
if exist \\meinserver\meinefreigabe>nul net use x: \\meinserver\meinefreigabe && @echo Ziel gemappt >> C:\scripts\save.log 
03.
:end
Ps:
>C:\WINDOWS\system32\
kannst du dir schenken, denn "C:\WINDOWS\system32\" ist / sollte im Pfad stehen - ein
ntbackup.exe meineparameter
reicht in dem Fall auch bzw.
%windir%\system32\ntbackup.exe
"passt immer -egal - wie der Ordner von Windows nun heißt.

Gruß
Bitte warten ..
Mitglied: Schwinni79
01.09.2008 um 16:45 Uhr
Hallo Timo,

das ist die kopierte Synatx von Windows aus dem Taskplaner. Habe sie mir gar nicht so genau angesehen.

Vielen Dank für deine ausführliche Hilfe - ich werde das Script etwas umstellen und wie oben beschrieben anpassen. Die CALL- Befehle brauche ich an dieser Stelle gar nicht...

Gruß
Michael
Bitte warten ..
Mitglied: AndreasHoster
01.09.2008 um 17:15 Uhr
Wo: Direkt nach dem Befehl, bei dem ein Fehler auftreten kann.
Beispiel:
01.
ping DNS-Name 
02.
if errorlevel 1 exit /b 
03.
net send %computername% Ping erfolgreich
Wenn Ping erfolgreich ein Paket verschickt und eine Antwort bekommt, gibt Ping Errorlevel 0 zurück. Falls keine Antwort zurückkommt, dann gibt ping Errorlevel 1 zurück.
Und mit IF frage ich das ab und beende es entweder mit exit oder schicke ein Net send.
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Bei INSERT Fehler abbrechen
Frage von newit1Batch & Shell8 Kommentare

Hallo zusammen, ich habe ein kleines Problem. Das unterstehende Skript importiert eine CSV Datei in eine Datenbank. Den Aufbau ...

Batch & Shell

In Batchdatei WLAN-Passwörter ausgeben lassen

Frage von AnonLukeBatch & Shell8 Kommentare

Hi, dies ist mein erster Beitrag, also entschuldigt falls ich im falschen Thema bin. ich wollte mal wieder ne ...

Batch & Shell

Abfrage in einer Batchdatei ?

gelöst Frage von Emily33Batch & Shell3 Kommentare

Hallo alle, ich habe mir eine Diskpart Batchdatei erstellt um öfters USB-Sticks bootfähig zu machen. An einem Punkt komme ...

Webbrowser

Internet Explorer 11 Öffnen Speichern Abbrechen abschalten

Frage von Randy99Webbrowser

Im Internet Explorer 11 (Version 11.0.28) in Windows 7 (Version 6.1.7601) wird bei einem Klick auf einen Link eine ...

Neue Wissensbeiträge
CMS
Erneut kritische Zero-Day-Lücke in Drupal
Tipp von Reini82 vor 2 StundenCMS

Laut einem Bericht auf t3n gibt es eine Schwere Sicherheitslücke in Drupal die auch schon ausgenutzt wird. Betroffen sind ...

Sicherheit

MikroTik-Router patchen, Schwachstelle wird ausgenutzt

Information von kgborn vor 22 StundenSicherheit

Am 23. April 2018 wurde von Mikrotik ein Security Advisory herausgegeben, welches auf eine Schwachstelle im RouterOS hinwies. Mikrotik ...

Windows 10

Microcode-Updates KB4090007, KB4091663, KB4091664, KB4091666 für Windows 10

Information von kgborn vor 1 TagWindows 101 Kommentar

Kurze Information für Administratoren von Windows 10-Systemen, die mit neueren Intel CPUs laufen. Microsoft hat zum 23. April 2018 ...

iOS
Updates für Iphone und Co
Information von sabines vor 1 TagiOS

Gestern abend ist iOS 11.3.1 erschienen, ein kleineres Update, dass einige Lücken schließt und "Lahmlegen" nach einem Display Tausch ...

Heiß diskutierte Inhalte
Batch & Shell
Powershell: Im AD nach Rechnern mit bestimmten IP-Adressen suchen
gelöst Frage von Raven42Batch & Shell36 Kommentare

Hallo zusammen, ich suche nach einer Möglichkeit nach Computern im AD zu suchen , deren IP-Adresse mit 10.11.12. beginnt. ...

Windows Server
Alten DC entfernen
gelöst Frage von smartinoWindows Server27 Kommentare

Hallo zusammen, ich habe hier eine Umgebung übernommen und erstmal einen DCDIAG gemacht. Dabei fällt auf, daß eine ganze ...

Ausbildung
Wie gelingt ein guter Einstieg in die FiSi-Ausbildung? (Umschulung)
Frage von SiAnKoAusbildung25 Kommentare

Schönen guten Tag, ich bin SiAnKo und habe seit dem 1.04.2018 eine Umschulung als FiSi angefangen. Ich möchte natürlich ...

Batch & Shell
Mit Powershell den Inhalt einer Excel mit einer Text Datei abgleichen
gelöst Frage von Bommi1961Batch & Shell21 Kommentare

Hallo zusammen, ich muss den Inhalt einer Excel Datei (Mappe1) mit dem Daten einer Text Datei abgleichen. Die Daten ...