Ping 特定主机并将结果移动到文件中,每小时带有当前时间戳
Ping particular host and move the results to file with current time stamp for every hour
我正在尝试创建一个批处理文件,该文件对特定主机执行 ping 操作,并将结果移动到一个文件中,该文件具有每小时的当前时间戳。我能够连续这样做,但我想知道是否有任何脚本可以设置它运行 ping 命令的时间间隔。
我能够成功地打印时间戳、ping 响应并能够更改带有当前时间戳的文件的名称,但它一直在发生。我想做一个时间间隔,比如连续 4 小时 ping,然后将结果移动到文件中。
请帮忙
没有合理的方法可以仅使用命令脚本来完成此操作。
我推荐的是编写一个脚本来执行请求的操作一次。
使用 Windows 任务计划程序每小时调用一次脚本。
我尝试的是 NO 表示一种理想的、不太精确的方法来做你想做的事情(纯粹是批量的),但是需要一些调整和改进,或者作为更有经验的批处理脚本编写者的类似脚本的潜在 route/template,我相信它可能会有用:
@echo off
setlocal enabledelayedexpansion
for /f "tokens=1-2 delims=:" %%i in ('echo %time%') do (
set /a hour=%%i+4
set /a minute=%%j
set expected=!hour!:!minute!
echo !expected!
)
for /f "tokens=*" %%i in ('ping 192.168.1.1 -n 1') do (echo %%i>pinglog.txt && goto PING)
:PING
for /f "tokens=1-2 delims=:" %%i in ('echo %time%') do (
set current=%%i:%%j
echo !current!
)
if !current!==!expected! (
goto EOF
) else (
for /f "tokens=* skip=2" %%i in ('ping 192.168.1.1 -n 2 -w 30000') do (
echo %date% %time% %%i>>pinglog.txt && goto PING
)
)
通过在行中添加相关值来控制小时或分钟间隔:
set /a hour=%%i+4 rem Here I've added 4 hours
set /a minute=%%j
如果您不想在 cmd 输出中看到时间进程,请删除 echo !expected!
和 echo !current!
行,脚本为 运行 时可以将其最小化。
我正在尝试创建一个批处理文件,该文件对特定主机执行 ping 操作,并将结果移动到一个文件中,该文件具有每小时的当前时间戳。我能够连续这样做,但我想知道是否有任何脚本可以设置它运行 ping 命令的时间间隔。
我能够成功地打印时间戳、ping 响应并能够更改带有当前时间戳的文件的名称,但它一直在发生。我想做一个时间间隔,比如连续 4 小时 ping,然后将结果移动到文件中。
请帮忙
没有合理的方法可以仅使用命令脚本来完成此操作。
我推荐的是编写一个脚本来执行请求的操作一次。 使用 Windows 任务计划程序每小时调用一次脚本。
我尝试的是 NO 表示一种理想的、不太精确的方法来做你想做的事情(纯粹是批量的),但是需要一些调整和改进,或者作为更有经验的批处理脚本编写者的类似脚本的潜在 route/template,我相信它可能会有用:
@echo off
setlocal enabledelayedexpansion
for /f "tokens=1-2 delims=:" %%i in ('echo %time%') do (
set /a hour=%%i+4
set /a minute=%%j
set expected=!hour!:!minute!
echo !expected!
)
for /f "tokens=*" %%i in ('ping 192.168.1.1 -n 1') do (echo %%i>pinglog.txt && goto PING)
:PING
for /f "tokens=1-2 delims=:" %%i in ('echo %time%') do (
set current=%%i:%%j
echo !current!
)
if !current!==!expected! (
goto EOF
) else (
for /f "tokens=* skip=2" %%i in ('ping 192.168.1.1 -n 2 -w 30000') do (
echo %date% %time% %%i>>pinglog.txt && goto PING
)
)
通过在行中添加相关值来控制小时或分钟间隔:
set /a hour=%%i+4 rem Here I've added 4 hours
set /a minute=%%j
如果您不想在 cmd 输出中看到时间进程,请删除 echo !expected!
和 echo !current!
行,脚本为 运行 时可以将其最小化。