명령 프롬프트에서 시간이있는 핑 수행 (배치 파일 사용)

5000 단어 batchWindows
ping을 이용하고 있어 시각도 아울러 표시하고 싶어졌으므로, 배치 파일을 작성해 보았습니다.



실행



배치 파일을 작성하고 그대로 실행하거나 명령 프롬프트에서 실행할 수 있습니다.


IP 주소를 입력하면 ping 상태를 1초마다 출력합니다.
종료할 때는 윈도우의 [x]로 닫거나 ctrl+c 로 종료해 주세요.



# 또한 IP 주소를 입력하지 않으면 GoogleDNS(8.8.8.8)로 통신합니다.

배치 파일



timeping_1line.bat
@echo off
setlocal enabledelayedexpansion

echo ### timeping_1line.bat start ###
set dt=null
set text=null
set res="からの応答 タイム 転送 宛先 見つかり"


SET /P ipaddr="IPアドレスを入力:  "
IF "%ipaddr%"=="" (
    set ipaddr=8.8.8.8
)
echo.


for /l %%I in (0, 0, 0) do (
    FOR /F "delims=," %%i in ('echo !date:~0^,4!/!date:~5^,2!/!date:~8^,2! !time:~0^,2!:!time:~3^,2!:!time:~6^,2!.!time:~9^,2!') DO @SET dt=%%i
    FOR /F "delims=," %%i in ('ping -n 1 %ipaddr% ^|findstr %res%') DO @SET text=%%i
    echo !dt!    !text!
    timeout 1 > nul
)

endlocal

rem EOF

후기



ping 커멘드와 같이 인수 형식으로 하거나, 커멘드 간격을 옵션화하거나, IPv6 대응시키거나와 수정점은 다하지 않습니다만, 필요하게 되면 대응하려고 합니다.

덧붙여서 powershell이라고 이하 1행.

timeping
ping -t 127.0.0.1 | %{(Get-Date).ToString() + " $_"}

좋은 웹페이지 즐겨찾기