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 Wie BATCH ERRORLEVEL ignorieren

Mitglied: gismo82

gismo82 (Level 1) - Jetzt verbinden

03.11.2009 um 11:14 Uhr, 8419 Aufrufe, 15 Kommentare

Hallo,

in einem Batch-Skript habe ich nach folgender Anleitung https://www.administrator.de/index.php?content=102460 folgendes Codesegment benutzt:
set /p =Mounting network drive...<NUL 
if %testVar%==0 ( 
    echo done 
) else ( 
    echo failed 
)
Das Netzlaufwerk wird ordnungsgemäß eingehangen, also testvar ist auf 0 gesetzt.

Ausgabe:
Mounting network drive...done
Leider liefert der Befehl
set /p =Mounting network drive...<NUL
als errorlevel 1 zurück, welches dann im ganzen Script auf 1 gesetzt bleibt, ungeachtet weiterer foglender erfolgreicher Befehle

Wie kann ich umgehen, dass dieser Befehl das Errorlevel 1 zurückgibt?


Gruß Andreas
Mitglied: Farbauti
03.11.2009 um 11:37 Uhr
Hmmm, ich sehe in deinem Code leider weder ein NET USE, noch die Abfrage des ERRORLEVELs.

Vielleicht beschreibst du einfach mal in Prosa, was du eigentlich willst...

Gruß, Farbauti.
Bitte warten ..
Mitglied: gismo82
03.11.2009 um 11:47 Uhr
Dies ist ja nur ein Auszug aus meinem Skript. Das NET USE steht ganz am Anfang. Und liefert auch das richtige ERRORLEVEL 0 zurück.

Hier nochmal mein Script mit NET USE
@echo off 
	net use * \\seetxxnas01.txx.seeburger.de\dataWarehouseImportFolder\GTSProcessList >NUL 
	echo NET USE Errorlevel = %errorlevel% 
	 
	if %errorlevel%==0 ( 
		set testVar=0 
	) else ( 
		set testVar=1 
	echo testVar = %testVar% 
	 
	set /p =Mounting network drive...<NUL  
 
	if %testVar%==0 (  
		echo done  
	) else (  
		echo failed  
	 
	echo Errorlevel nach SET Befehl = %errorlevel%
Ausgabe:
NET USE Errorlevel = 0 
testVar = 0 
Mounting network drive... done 
Errorlevel nach SET Befehl = 1
Diese Zeile "Mounting network drive...done" ist die Ausgabe ob es erfolgreich war.
Bitte warten ..
Mitglied: bastla
03.11.2009 um 11:54 Uhr
Hallo gismo82!

Soferne Du tatsächlich die Variable %testVar% später noch benötigen solltest, dürfte aber trotzdem
01.
@echo off & setlocal 
02.
net use * \\seetxxnas01.txx.seeburger.de\dataWarehouseImportFolder\GTSProcessList >NUL 
03.
set testVar=%errorlevel% 
04.
if %testVar%==0 ( 
05.
	echo Mounting network drive...done 
06.
) else ( 
07.
	echo Mounting network drive...failed 
08.
)
genügen ...

... ansonsten aber vielleicht auch schon
net use * \\seetxxnas01.txx.seeburger.de\dataWarehouseImportFolder\GTSProcessList >NUL && (echo Mounting network drive...done) || (echo Mounting network drive...failed)
Grüße
bastla
Bitte warten ..
Mitglied: gismo82
03.11.2009 um 12:53 Uhr
Wäre halt schöner gewesen, wenn die Ausgabe zur Laufzeit ausgegeben würde...

Mich würde auch einmal interresieren, ob überhaupt möglich ist, das ERRORLEVEL zu ignorieren
Bitte warten ..
Mitglied: Farbauti
03.11.2009 um 13:02 Uhr
Zitat von gismo82:
Wäre halt schöner gewesen, wenn die Ausgabe zur Laufzeit
ausgegeben würde...

Mich würde auch einmal interresieren, ob überhaupt
möglich ist, das ERRORLEVEL zu ignorieren

Die Ausgabe wird doch zur Laufzeit ausgegeben. Was meinst du genau?
Und der Errorlevel hat prinzipiell keine Auswirkung auf nachfolgende Befehle; es sei denn, du fragst ihn aktiv ab.


Gruß, Farbauti.
Bitte warten ..
Mitglied: miniversum
03.11.2009 um 13:11 Uhr
warum nicht so?
set errorlevel=0
Bitte warten ..
Mitglied: gismo82
03.11.2009 um 13:13 Uhr
weil set errorlevel=0 das errorlevel IMMER auf 0 setzt, egal was danach passiert. Dies gilt dann für die ganze Session.

Das ist nicht gut. Vielleicht gibts da ja andere Möglichkeiten.

[EDIT:] Zur Laufzeit meine ich:
Bevor mein Befehl (Microsoft Logparser in meinem Fall) ausgeführt wird, dann soll
Executing Logparser...
ausgegeben werden. Wenn der LogParser erfolgreich gearbeitet hat, dann soll
done bzw. failed
angehangen werden.
Bitte warten ..
Mitglied: Farbauti
03.11.2009 um 13:57 Uhr
Zitat von gismo82:
[EDIT:] Zur Laufzeit meine ich:
Bevor mein Befehl (Microsoft Logparser in meinem Fall) ausgeführt wird...

Wenn dir das so wichtig ist, dann halt so:
01.
set /p =Mounting network drive...<NUL 
02.
net use * \\seetxxnas01.txx.seeburger.de\dataWarehouseImportFolder\GTSProcessList >NUL && (echo done) || (echo failed)
Bitte warten ..
Mitglied: Biber
03.11.2009 um 14:21 Uhr
@Farbauti

<Erbsenzählermode>
wobei deine Variante in einem Fall zu "jahrelang gar nichts" führt...
Wenn für das net use eine Eingabe erwartet wird (Benutzername/Passwort), dann wird die "Eingabeaufforderung" unterdrückt, niemand sieht etwas und weder "echo DONE" noch && "echo In die Grütze" wird jemals erreicht.
</Erbsenzählermode>

Grüße
Biber
Bitte warten ..
Mitglied: gismo82
03.11.2009 um 14:30 Uhr
Hi...

aber ich muss jetzt einfach nochmal fragen...

Gibt es keine Möglichkiet, das Errorlevel zu ignorieren, bzw. auf 0 zu setzen? Denn, wenn bei diesem SET das Errorlevel auf 1 gesetzt wird, dann bleibt das immer auf 1

Gruß Andreas
Bitte warten ..
Mitglied: Biber
03.11.2009 um 14:59 Uhr
Moin gismo82,

Gibt es keine Möglichkiet, das Errorlevel zu ignorieren, bzw. auf 0 zu setzen?
Doch, natürlich.
Eigentlich jeder interne/externe Befehl setzt den Errorlevel auf 0 = Alles prima, wenn er erfolgreich und planmäßig zu einem ende kommt.

Allerdings ist der SET-Befehl eine Ausnahme dieser Regel.

Wenn du WTF-auch-immer das Errorlevel innerhalb des Batchschnipsels auf 0 setzen willst/musst/möchtest:
01.
REM ein CD zeigt das aktuelle Verzeichnis an UND setzt das Errotlevel auf 0. Da kann nix schiefgehen. Eigentlich. 
02.
cd >nul 
03.
echo Errorlevel ist: %Errorlevel% nach einem Befehl "CD ohne Parameter"
Wenn du ein ERRORLEVEL 0 nach außen transportieren willst (Rückgabewert des batches an ein aufrufendes Programm):
Verwende "EXIT /B xx" mit xx als deinem gewünschten Rückgabewert.
Siehe Hilfe "Exit /?" am CMD-Prompt.

Grüße
Biber
Bitte warten ..
Mitglied: Farbauti
03.11.2009 um 15:02 Uhr
Zitat von Biber:
@Farbauti

<Erbsenzählermode>
wobei deine Variante in einem Fall zu "jahrelang gar nichts" führt...

Du bist ja lustig.
Wenn du alle Posts gelesen hättest, hättest du gemerkt, dass ich das auch nur überbommen habe, und es nicht meine Variante ist
Bitte warten ..
Mitglied: Biber
03.11.2009 um 15:38 Uhr
@Farbauti

...und es nicht meine Variante ist
Es sind doch immer die Boten, die geköpft werden.... *gg

Grüße
Biber
Bitte warten ..
Mitglied: Biber
12.11.2009 um 15:09 Uhr
Moin gismo82,

ich hatte neulich schon per PN bei dir nachgefragt:

Wie ist denn der Status deiner Frage?
Hinreichend beantwortet? Fragen offen? Gegenstandslos aufgrund einer unverhofften Erbschaft?

Bitte entweder abhaken oder nachhaken.

Danke
Biber
Bitte warten ..
Mitglied: gismo82
12.11.2009 um 16:20 Uhr
Sorry,

hatte das total vergessen...ist erledigt. Hat mir weitergeholfen. Danke

Gruß...
Bitte warten ..
Ähnliche Inhalte
Batch & Shell

Win10 ändert den Errorlevel? ( Batch )

gelöst Frage von clragonBatch & Shell12 Kommentare

Hey Leute, Ich habe heute wieder mit Prozessen herumgebastelt, die sich gegenseitig überwachen. Da plötzlich, habe ich einen Fehler. ...

Batch & Shell

Bedeutung von RD Errorlevel 1 und Abweichung von errorlevel Meldungen in Batch und Konsole

Frage von anmelderBatch & Shell11 Kommentare

Ich lösche einen Flashspeicher im Netzwerk mit: Ich habe den Code vor Tagen erfolgreich getestet und er lief mit ...

Batch & Shell

Batch-Job zum Dateiverschieben, 0kb Dateien ignorieren

gelöst Frage von GarconBatch & Shell3 Kommentare

Hallo, ich habe folgendes Problem. Meine NAS erhält Dateien geliefert, in ein zentrales Verzeichnis. Mein Server ruft diese Dateien ...

Batch & Shell

BatchFile mit Errorlevel

gelöst Frage von MemaAaBatch & Shell7 Kommentare

Hallo Da ich mit Batchprogrammierung nur Grundlegende Erfahrungen habe frage ich hier nach. und zwar habe ich ein Batchfile, ...

Neue Wissensbeiträge
Windows 10

USB Maus und Tastatur versagen Dienst unter Windows 10

Erfahrungsbericht von hardykopff vor 1 TagWindows 105 Kommentare

Da steht man ziemlich dumm da, wenn der PC sich wegen fehlender USB Tastatur und Maus nicht bedienen lässt. ...

Administrator.de Feedback
Update der Seite: Alles zentriert
Information von Frank vor 1 TagAdministrator.de Feedback18 Kommentare

Hallo User, die größte Änderung von Release 5.8 ist das Zentrieren der Webseite (auf großen Bildschirmen) und ein "Welcome"-Teaser ...

Humor (lol)

WhatsApp-Nachrichten endlich auch per Bluetooth versendbar

Information von BassFishFox vor 2 TagenHumor (lol)4 Kommentare

Genau darauf habe ich gewartet! ;-) Der beliebte Messaging-Dienst WhatsApp erhält eine praktische neue Funktion: Ab dem nächsten Update ...

Google Android

Googles "Android Enterprise Recommended" für Unternehmen

Information von kgborn vor 2 TagenGoogle Android3 Kommentare

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

Heiß diskutierte Inhalte
Windows Netzwerk
WSUS4 und Windows 10 Updates automatisch installieren
Frage von sammy65Windows Netzwerk15 Kommentare

Hallo miteinander, ich habe mit einen neuen WSUS Server aufgesetzt Server 2016 darauf einen aktuellen WSUS. Grund, wir stellen ...

Speicherkarten
Vergessliche USB-Sticks?
Frage von hanheikSpeicherkarten14 Kommentare

Ich habe in den letzten Tagen 500 USB-Sticks mit Bilddateien bespielt. Obwohl ich die Dateien mit größter Sorgfalt kopiert ...

Hyper-V
Hyper-V mit altem XEON-Server. Was ist falsch?
Frage von LollipopHyper-V11 Kommentare

Hallo Bin etwas frustriert. Kleinbetrieb, ca. 15 PC's, 2 Stk. Server mit einigen virtuellen PC's für Fernwartung, VaultServer für ...

Windows Server
NTFS Berechtigungen Ordnerstruktur
Frage von hukahu23489Windows Server11 Kommentare

Hallo, ich bin seit kurzem in einer neuen IT-Abteilung und bin über das Berechtigungskonzept des Unternehmens sehr schockiert. Ich ...