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 中的錯誤處理

相關內容