호스트에 연결할 수 있는지 여부를 확인해야 하는 일부 작업에 대한 배치 파일을 작성 중입니다. 수행하는 명령을 실행할 때 나타나는 모든 오류 코드를 기록해야 합니다.
특히 ping, Traceroute 및 arp 명령을 사용해야 합니다. 그러나 이러한 명령을 실행하는 데 필요한 다양한 오류 수준을 찾지 못했습니다. 그러한 Windows 명령에 대한 오류 수준이나 오류 코드는 어디에서 찾을 수 있습니까?
그리고 ping과 Traceroute를 따로 사용하는 것보다 pathping을 사용하는 것이 더 낫나요?
답변1
%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 "
:Logit
기본적으로 메소드 의 출력을 LOGFILE
. 이 exit
명령은 실행 후 배치가 종료되는지 확인하는 것입니다 :Logit
.
다음은 간단한 try-catch를 사용하는 PowerShell 솔루션입니다.
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
}
파워셸