Windows-Batchdatei

578
tech_enthusiast

Ich schreibe eine Batchdatei für einige Arbeiten, bei denen ich überprüfen muss, ob die Hosts erreichbar sind oder nicht. Ich muss alle Fehlercodes protokollieren, die ich beim Ausführen der Befehle bekomme, die ich ausführte.

Insbesondere muss ich den Befehl ping, traceroute und arp verwenden. Ich kann jedoch keine verschiedenen Fehlerstufen für die Ausführung dieser Befehle finden. Wo finde ich Fehlerstufen oder Fehlercodes für solche Windows-Befehle?

Ist es auch besser, Pathping anstelle von Ping und Traceroute separat zu verwenden?

0

1 Antwort auf die Frage

1
DIDIx13

Chargenlösung mit% ERRORLEVEL%

@Echo off SET LOGFILE=MyLogFile.log call :Logit >> %LOGFILE%  exit /b 0  :Logit :: PING 192.168.1.1 -n 1 | FIND /I /V "unreachable" | FIND /I "Reply from " 

Es leitet die Ausgabe der :LogitMethode grundsätzlich an die LOGFILE. Der exitBefehl soll sicherstellen, dass der Stapel nach der Ausführung beendet wird :Logit.


Hier ist eine PowerShell-Lösung mit einem einfachen Try-Catch

Try { # Try to reach host  Test-Connection -Source "Server02", "Server12", "localhost" -ComputerName "Server01"  }  Catch {  # Catch the exception  $_ | Out-File C:\errors.txt -Append  # You can use this too but not both  $exception = $_.Exception.Message Out-File -FilePath 'C:\myscript.log' -Append -InputObject $exception } 

Von diesem und diesem SO Fragen.


Power Shell

Microsoft-Dokument zu Test-Connection

Fehlerbehandlung in PowerShell

Ich suche nach Batch-Dateien, nicht nach Powershell. tech_enthusiast vor 6 Jahren 0
Sowohl batch als auch ps1 sind Windows-native. Können Sie Ihre Umgebung angeben? DIDIx13 vor 6 Jahren 0
Ich muss Batch verwenden. tech_enthusiast vor 6 Jahren 0
Vielen Dank für die Bearbeitung der Antwort, aber ich frage nicht nach Code. Ich frage, wo finde ich die möglichen Fehler für solche Windows-Befehle? Sei es mit der Testverbindung von Powershell oder dem Ping von Batch. tech_enthusiast vor 6 Jahren 0
@tech_enthusiast Es sollte in errorlevel oder% ERRORLEVEL% gespeichert werden, wenn er errorlevel [about% ERRORLEVEL%] nicht finden kann (http://steve-jansen.github.io/guides/windows-batch-scripting/part-3- return-codes.html) DIDIx13 vor 6 Jahren 0