使用方法
新建文本檔案,改后綴為 .bat 編輯該檔案,將下面代碼拷貝進去,ctrl+s保存一下,雙擊檔案運行
效果圖

運行效果:
一秒鐘ping一次目標網路,
創建ping_host.log檔案保存記錄,會覆寫,意思你用這個腳本運行兩次ping同一個host,第二次的檔案會覆寫第一次的
中止方式:
第一種ctrl+c,會問你是否中止 鍵入 y回車
第二種,直接關閉視窗
結果:
可以看到當前目錄產生了一個.log檔案,其實就是一個txt文本檔案,只是后綴不一樣,可以用記事本打開看檔案

這是我剛才ping的記錄 帶時間戳的
簡化版代碼
@echo off
set /p host=host:
set logfile=ping_%host%.log
echo Target Host=%host% > %logfile%
:loop
for /f "tokens=* skip=2" %%A in ('ping %host% -n 1') do (
echo %date:~0,-3% %time:~0,-3% %%A>>%logfile%
echo %date:~0,-3% %time:~0,-3% %%A
timeout /t 1 /nobreak>nul
goto loop
)
pause>nul
注解版代碼
略啰嗦 不懂具體指令可以百度
:: 這是注釋 檔案名 test.bat
@echo off
:: 關倍訓顯
set /p host=myhost:
:: 這是備注/p效果是 需要用戶輸入host,即你要ping的地址
:: 設定字串變數 =后:前為提示
set logfile=ping_%host%.log
:: 設定檔案名 要重用set設定的變數host 需要兩邊包裹%
echo Target Host=%host% > %logfile%
:: echo 輸出的字串 >到 輸入的物件
:: >file.txt 輸出字串到檔案;沒有> 默認輸出到螢屏; >nul 輸出到空的物件,指令操作的提示陳述句不會顯示
:: 增強for回圈
:: tokens 選擇一行中的分割好的部分 *剩余全部
:: skip 跳過開頭幾行
:: %date:~0,-3% 日期字串從第一個到倒數第三個
:: >>a.txt 追加到a.txt里
:: >a.txt 無創建a.txt,有清空a.txt
:: echo str 輸出字串
:: echo str >>filename 輸出字串到檔案
:: timeout /t waittime /nobreak>nul 等待時間waittime 期間無法停止 >nul 意思不要列印到命令視窗 不顯示
:: ":loop" "goto loop" 回圈
:: pause>nul 按任意鍵繼續,不顯示提示
:loop
for /f "tokens=* skip=2" %%A in ('ping %host% -n 1') do (
echo %date:~0,-3% %time:~0,-3% %%A>>%logfile%
echo %date:~0,-3% %time:~0,-3% %%A
timeout /t 1 /nobreak>nul
goto loop
)
pause>nul
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/230.html
標籤:Windows
