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 Batch-Datei zeigt erfolgreiches Ereignis als Fehler an

Mitglied: soundinle

soundinle (Level 1) - Jetzt verbinden

30.12.2014, aktualisiert 31.12.2014, 3114 Aufrufe, 7 Kommentare

Hallo zusammen

Habe hier eine Batch-Datei gebastelt, die automatisch einen Ordner erstellt und eine vorhandene Datei in diesen kopiert. Falls irgendwo ein Fehler auftaucht, soll zu "Fehler" gesprungen und auf eine Benutzereingabe gewartet werden. Doch das Erfolgreiche Kopieren wird als Fehler deklariert. Wo ist der Fehler? Hier die Batch:

@echo off
if errorlevel 1 goto Fehler
S:
if errorlevel 1 goto Fehler
md Temp
if errorlevel 1 goto Fehler
move S:\Backup.7z S:\Temp
if errorlevel 1 goto Fehler
:Fehler
echo FEHLER!!! FEHLER!!! FEHLER!!!
pause

Freue mich auf Antworten
Mitglied: 114757
LÖSUNG 30.12.2014, aktualisiert um 23:48 Uhr
Moin,
dir fehlt ein goto Sprung vor dem Fehlerabschnitt , da dieser ansonsten auch bei Erfolg abgearbeitet wird! Batch überspringt ja nicht von selbst einen Abschnitt...
01.
goto ende 
02.
:Fehler 
03.
echo FEHLER!!! FEHLER!!! FEHLER!!! 
04.
pause 
05.
:ende
Gruß jodel32
Bitte warten ..
Mitglied: rubberman
30.12.2014 um 23:50 Uhr
Hallo.

Und falls GOTO irgendwann mal langweilig werden sollte (leider wohl nicht mehr zu Lebzeiten von Batch ) ...
01.
@echo off &setlocal 
02.
cd /d "S:\" && md "Temp" && move "Backup.7z" "Temp\" && exit /b 
03.
echo Fehler 
04.
pause
Grüße
rubberman
Bitte warten ..
Mitglied: soundinle
30.12.2014 um 23:50 Uhr
Danke für deine Antwort. Das war sie! Da versuche ich ewig rum - auch mit Sprüngen zu "End", habe aber nicht kapiert, dass der Rest immer trotzdem berücksichtigt wird. Danke!

Ich habe die folgende, andere, Batch nun nach diesem Muster umgebaut. Sie löscht den Ordner (nach dem Backup) wieder. Doch sie meckert gar nicht, wenn kein Ordner vorhanden ist und dieser schon gelöscht wurde:

@echo off
if errorlevel 1 goto Fehler
S:
if errorlevel 1 goto Fehler
rd /s /q S:\Temp
if errorlevel 1 goto Fehler
goto Ende
:Fehler
echo FEHLER!!! FEHLER!!! FEHLER!!! FEHLER!!! FEHR!!!
pause
:Ende
exit

Vom Code her ist doch alles richtig?
Bitte warten ..
Mitglied: rubberman
LÖSUNG 31.12.2014, aktualisiert um 17:43 Uhr
Hallo soundinle.

Ob ein Errorlevelwert gesetzt wird, bzw. welcher, hängt davon ab, ob die Entwickler diese Logik implementiert haben. Im Fall von RD haben sie offensichtlich gepennt und der Errorlevel bleibt 0.
Workaround:
01.
rd /s /q S:\Temp 2>&1 | findstr . && goto Fehler
Grüße
rubberman
Bitte warten ..
Mitglied: soundinle
31.12.2014 um 01:58 Uhr
Super! Funktioniert! Jetzt kommt die Meldung, dass das System die angegebene Datei nicht finden kann! Doch vielleicht könntest du mir diesen Code erklären? Ich habe herausgefunden, dass && so viel heißt wie "wenn Befehl erfolgreich, dann ...". Doch eigentlich wird ja zu "Fehler" gesprungen, wenn der Befehl eben nicht erfolgreich war. Wie ist das Problem im Beispiel gelöst?
Bitte warten ..
Mitglied: rubberman
LÖSUNG 31.12.2014, aktualisiert um 17:43 Uhr
Doch vielleicht könntest du mir diesen Code erklären?
RD gibt keine Meldung aus, wenn das Löschen erfolgreich ist. Anderenfalls wird eine Fehlermeldung zu StdErr (Stream 2) geschrieben. Der lässt sich aber nicht per Pipe (|) an einen anderen Befehl übergeben. Darum ist es nötig StdErr mit dem leeren StdOut (Stream 1) zu vereinen. Das passiert mittels 2>&1. Das heißt, der FINDSTR Befehl wird über die Pipe gestartet. Dieser detektiert nun, was bei ihm ankommt. Wenn irgend ein Zeichen (das bedeutet der Punkt hinter FINDSTR) gefunden wurde, dann ist FINDSTR erfolgreich und setzt Errorlevel 0. Wurde kein Zeichen gefunden (was der Fall ist, wenn es keine Fehlermeldung gab) ist FINDSTR nicht erfolgreich und der Errorlevel wird auf 1 gesetzt. So kommt die umgekehrte Logik zustande.

Grüße
rubberman
Bitte warten ..
Mitglied: soundinle
31.12.2014 um 17:43 Uhr
Super, danke für deine Erklärung, auch wenn ich nicht alles verstehe (ich kenne nur die "Standardsachen"). Aber so läuft es optimal

Guten Rutsch euch allen!

Soundinle
Bitte warten ..
Ähnliche Inhalte
Windows Server

SCCM nach Erfolgreicher Tasksequenz fehler 080004005. Unbekannter Fehler

gelöst Frage von LordNicon79Windows Server5 Kommentare

Hallo zusammen, ich hänge momentan an einem mir nicht nachvollziehbarem Fehler bei der Verteilung einer Tastsequenz im SCCM (1610). ...

Windows 10

Ständig Fehler Ereignis-Id 10016

Frage von walter23Windows 109 Kommentare

Guten Abend, mir wurde dieses Forum empfohlen und nun versuche ich mein Glück. Ich habe ein neues Notebook und ...

Batch & Shell

Batch: Prüfung auf erfolgreich ausgeführten Befehl

gelöst Frage von myluridBatch & Shell2 Kommentare

Guten Morgen zusammen! Habe folgedes Problem es existiert ein Skript, welches einen Ordner auf Dateien mit Größe 0 Byte ...

Exchange Server

Festplatte an- bzw. abkoppeln. Welche "Ereignis-ID" zeigt dies in Ereignisanzeige? Bei erfolgreichem Wechsel von Datensicherungs-ATA-Device soll Mail versendet werden

Frage von Server-NutzerExchange Server7 Kommentare

Hallo liebe "Ereignisanzeige"-Experten. Wenn an einem SBS-Server 2011 Standard eine Festplatte an- bzw. abgekoppelt wird: Welche "Ereignis-ID" zeigt dies ...

Neue Wissensbeiträge
Google Android

Googles "Android Enterprise Recommended" für Unternehmen

Information von kgborn vor 5 StundenGoogle Android2 Kommentare

Hier eine Information, die für Administratoren und Verantwortliche in Unternehmen, die für die Beschaffung und das Rollout von Android-Geräten ...

Sicherheit

Intel gibt neue Spectre V2-Microcode-Updates frei (20.02.2018)

Information von kgborn vor 5 StundenSicherheit

Intel hat zum 20. Februar 2018 weitere Microcode-Updates für OEMs freigegeben, um Systeme mit neueren Prozessoren gegen die Spectre ...

Microsoft
ARD-Doku - Das Microsoft Dilemma
Tipp von Knorkator vor 8 StundenMicrosoft3 Kommentare

Hallo zusammen, vor einigen Tagen lief in der ARD u.a. Reportage. Das Youtube Video dazu dürfte länger verfügbar sein. ...

Windows 10

Neue Sicherheitslücke in Windows 10 (Version 1709) durch Google öffentlich geworden

Information von kgborn vor 1 TagWindows 10

Vor ein paar Tagen haben Googles Sicherheitsforscher vom Projekt Zero eine Sicherheitslücke im Edge-Browser publiziert. Jetzt wurde eine weitere ...

Heiß diskutierte Inhalte
Windows Server
AD DS findet Domäne nicht, behebbar?
Frage von schapitzWindows Server39 Kommentare

Guten Tag, ich habe bei einem Kunden ein Problem mit den AD DS. Umgebung ist folgende: Windows Server 2016 ...

Router & Routing
LANCOM VPN CLIENT einrichten
Frage von Finchen961988Router & Routing27 Kommentare

Hallo, ich habe ein Problem und hoffe ihr könnt mir helfen, wir haben einen Kunden der hat einen Speedport ...

Router & Routing
ISC DHCP 2 Subnetze
gelöst Frage von janosch12Router & Routing18 Kommentare

Hallo, ich betreibe bei mir im Netzwerk einen ISC DHCP Server auf Debian, der DHCP verwaltet aktuell ein /24 ...

CPU, RAM, Mainboards
32 gb RAM zu wenig?
Frage von pcguyCPU, RAM, Mainboards13 Kommentare

Hallo zusammen, mein PC verfügt über 32GB Ram. Nun kriege ich bei grossen Dateien im Illustrator die Fehlermeldung das ...