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

Frage Entwicklung Batch & Shell

GELÖST

Batchdatei bei Fehler abbrechen lassen

Mitglied: Schwinni79

Schwinni79 (Level 1) - Jetzt verbinden

01.09.2008, aktualisiert 17:16 Uhr, 11529 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
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 ...

Batch & Shell
Robocopy in einer Batchdatei
gelöst Frage von CinebatBatch & Shell7 Kommentare

Hallo ich möchte ein einfache Batchdatei erstellen. Ich möchte sämtliche Dateien und Ordner von meiner Festplatte D: auf ein ...

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
Linux

Meltdown und Spectre: Linux Update

Information von Frank vor 6 StundenLinux1 Kommentar

Meltdown (Variante 3 des Prozessorfehlers) Der Kernel 4.14.13 mit den Page-Table-Isolation-Code (PTI) ist nun für Fedora freigegeben worden. Er ...

Tipps & Tricks

Solutio Charly Updater Fehlermeldung: Das Abgleichen der Dateien in -Pfad- mit dem Datenobject ist fehlgeschlagen

Tipp von StefanKittel vor 1 TagTipps & Tricks

Hallo, hier einmal als Tipp für alle unter Euch die mit der Zahnarztabrechnungssoftware Charly von Solutio zu tun haben. ...

Sicherheit

Meltdown und Spectre: Wir brauchen eine "Abwrackprämie", die die CPU-Hersteller bezahlen

Information von Frank vor 1 TagSicherheit12 Kommentare

Zum aktuellen Thema Meltdown und Spectre: Ich wünsche mir von den CPU-Herstellern wie Intel, AMD oder ARM eine Art ...

Sicherheit

Meltdown und Spectre: Realitätscheck

Information von Frank vor 1 TagSicherheit9 Kommentare

Die unangenehme Realität Der Prozessorfehler mit seinen Varianten Meltdown und Spectre ist seit Juni 2017 bekannt. Trotzdem sind immer ...

Heiß diskutierte Inhalte
Sicherheit
Meltdown und Spectre: Die machen uns alle was vor
Information von FrankSicherheit23 Kommentare

Aktuell sieht es in den Medien so aus, als hätten die Hersteller wie Intel, Microsoft und Co den aktuellen ...

Netzwerkgrundlagen
Welches Modem für VDSL 50000 der T-Com
gelöst Frage von Windows10GegnerNetzwerkgrundlagen22 Kommentare

Hallo, ein Kollege von mir will sich VDSL50000 von der T-Com holen, um daran einen Server zu betreiben. Ich ...

Netzwerke
Packet loss bei "InternetLeitungsvollauslastung"
gelöst Frage von Freak-On-SiliconNetzwerke17 Kommentare

Servus; Ja der Titel klingt komisch, is aber so. Wenn die Internetleitung voll ausgelastet ist, hab ich extreme packet ...

Ubuntu
Ubuntu - Starter für nicht vertrauenswürdige Anwendungen
Frage von adm2015Ubuntu17 Kommentare

Hallo zusammen, Ich verwende derzeit die Ubuntu Versionen 17.10 bzw. im Test 18.04. Ich habe mehrere .desktop Dateien in ...