Windows 批处理文件

Windows 批处理文件

我正在为一些工作编写批处理文件,其中我需要检查主机是否可访问。我需要记录执行命令时收到的所有错误代码。

具体来说,我需要使用 ping、traceroute 和 arp 命令。但我没有找到执行这些命令的各种错误级别。我在哪里可以找到这些 Windows 命令的错误级别或错误代码?

另外,使用 pathping 而不是分别使用 ping 和 traceroute 是否更好?

答案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 "

它基本上将方法的输出重定向:LogitLOGFILE。该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
}

还有这样的问题。


电源外壳

有关测试连接的 Microsoft 文档

PowerShell 中的错误处理

相关内容