每10秒执行一次批处理文件

每10秒执行一次批处理文件

我有一个批处理文件:

arp -s 192.168.1.254 xx-xx-xx-xx-xx-xx
ipconfig /flushdns

如何在 Windows XP 上每 10 秒执行这两个命令?

答案1

这会产生 10 秒的延迟:

timeout /t 10

尝试一下这个:

 :loop
 arp -s 192.168.1.254 xx-xx-xx-xx-xx-xx
 ipconfig /flushdns
 timeout /t 10
 goto loop

答案2

尝试一下这个:

:loop
arp -s 192.168.1.254 xx-xx-xx-xx-xx-xx
ipconfig /flushdns
ping localhost -n 11 > nul
goto loop

ping 命令将执行 10 秒,所有输出将重定向到 NUL 设备,这意味着您将看不到 ping 命令的任何输出。它确实像“sleep”命令一样工作。

答案3

:top
arp -s 192.168.1.254 xx-xx-xx-xx-xx-xx
ipconfig /flushdns
sleep 10
goto top

编辑:正如评论中提到的,SLEEP在正常安装中不可用。您需要 Windows 2003 资源工具包之类的东西,或者一些其他技巧来模拟它(Bruno 提到的 ping 技巧),并且可以找到这样做的说明这里

答案4

您可以使用forping命令:

@echo off
for /l %%a in (0,0,0) do (
arp -s 192.168.1.254 xx-xx-xx-xx-xx-xx
ipconfig /flushdns
ping -n 11 localhost >nul
)

您可以用来ping -n [secs+1] localhost >nul等待一定时间(以秒为单位)。

相关内容