我必須檢查多個IP地址。所以,我做了一個批處理文件來獲得所有的ip結果,如下所示。通過批處理文件運行tracert命令時,請查找「請求超時」
@echo off
if exist D:\tracert\computers.txt goto Label1
echo.
echo Cannot find d:\tracert\computers.txt
echo.
Pause
goto :eof
:Label1
for /f %%i in (d:\tracert\computers.txt) do call :trace %%i
notepad D:\tracert\%1.txt
goto :eof
:trace
echo Tracing %1
tracert -h 200 %1 >> D:\tracert\testing.csv
在computers.txt
文件,我寫的行中的所有IP線路。
上面的代碼沒有問題,我可以正確地得到結果。但是,問題是,當我運行tracert
命令時,我無法嘗試找到Request time out.
。
我想查找Request time out.
,如果找到了,我想停止當前的tracert命令並將結果寫入文件並再次循環下一個ip。如果沒有找到,只是將結果寫入文件。
我想這樣做的主要原因是因爲我想減少運行此批處理文件時所花費的時間。
所以,我改變了這樣的代碼,但它不起作用。
:trace
echo Tracing %1
tracert -h 200 %1
if find /c /i "Request time out." GEQ 0 (
echo %1>>D:\tracert\%1.txt
goto :Label1
) else (echo %1>>D:\tracert\%1.txt)
notepad D:\tracert\%1.txt
我不知道我可以像上面那樣搜索,因爲我是批量新手。 我非常感謝任何建議。
非常感謝您的回答。但是,我無法在'.txt'文件中獲取tracert結果。它只顯示IP地址。 – Cloud