我經常需要對伺服器執行 ping 操作以了解連線狀態。有沒有辦法挽救文字檔案中的 ping 結果(輸出)這樣我就可以將一整天的 ping 結果保存在文字檔案中。
我使用的是Windows XP SP3。
平例:
ping 192.168.1.1 -t
(using windows' ping)
或者
ping 192.168.1.1
(using cygwin)
答案1
使用重定向,例如:
ping 192.168.1.1 -t > filename.txt
這會將程式的所有(標準)輸出重定向到filename.txt
,如果不存在則建立該輸出,如果存在則覆蓋該輸出。
您可以使用>>
代替>
將輸出重定向到文件並且附加結果到文件末尾,而不是覆蓋(感謝@簡T以供提醒)。
請注意,您將不是如果執行此操作,則會收到正常的螢幕輸出。
更新以回覆評論
要延遲 ping 之間的時間並記錄每次的時間,您可以編寫一些腳本。
這是我整理的一個快速 Windows 批次檔。它會列印時間,對 Google 執行 ping 操作,然後等待 3 秒,然後重複執行。我是不是批次檔專家,因此如果有人發現任何問題,請標記它們!這可能不是實現您所追求的目標的“最佳”方法 - 這可能確實需要一個單獨的問題。
@ECHO OFF
:LOOPSTART
time /T
ping www.google.com -n 4
sleep -m 3000
GOTO LOOPSTART
將其保存在某個.bat
文件中,根據需要編輯 ping 目標和延遲時間,然後運行.bat
使用重定向將整個內容的輸出泵送到文件中。您可能需要根據您的 Windows 版本將該sleep -m 3000
命令替換為。timeout /T 3
注意這個批次文件永不結束Ctrl,但可以透過+終止C,然後Y如果從 運行cmd
。 (你必須按 Y,因為它會詢問您是否要停止批次檔 - 即使您看不到問題,因為您已經重定向了輸出!
答案2
如果您使用命令提示符,只需將其重定向到使用此格式的文字文件
ping 192.168.1.1 > ping.txt
這樣就可以了。
答案3
您可以使用:
> ping 192.168.1.1 -t > ping-results
答案4
另外,如果您想查看顯示的 ping 結果,您可以使用此程式碼
@ECHO OFF
:LOOPSTART
date /T >>Pingtest.log
time /T >>Pingtest.log
REM this line show you the ping results in display
ping 8.8.8.8 -n 1
REM this line print the ping results in the log file
ping 8.8.8.8 -n 10 >>PingTest.log
sleep -m 1000
GOTO LOOPSTART