Batch file 批处理ping localhost
我们使用Batch file 批处理ping localhost,batch-file,Batch File,我们使用pinglocalhost-n2>nul延迟其后续执行。 我们可以将2更改为所需的秒数 我怎样才能以更广泛的方式控制这一点?我试着用1.5而不是2,但没有成功 有没有代码可以用来改变时间单位 EDIT:而不是pinglocalhost-n2>nul。我使用的是TIMEOUT 1>nul-n是ping的(n)次数,而不是等待的时间量。你不能ping 1.5次 -w是每次ping上(w)等待的时间(毫秒)。暂停1.5秒将是 ping -n 3 -w 500 如果在运行批处理文件的计算机上设
pinglocalhost-n2>nul
延迟其后续执行。
我们可以将2
更改为所需的秒数
我怎样才能以更广泛的方式控制这一点?我试着用1.5
而不是2
,但没有成功
有没有代码可以用来改变时间单位
EDIT:而不是pinglocalhost-n2>nul
。我使用的是TIMEOUT 1>nul
-n是ping的(n)次数,而不是等待的时间量。你不能ping 1.5次
-w是每次ping上(w)等待的时间(毫秒)。暂停1.5秒将是
ping -n 3 -w 500
如果在运行批处理文件的计算机上设置了网站,ping将发现它是localhost,超时将不适用。超时仅适用于失败的请求。最好为延迟ping 0.0.0.1
ping -n 3 -w 500 0.0.0.1
-n是ping的(n)次数,而不是等待的时间。你不能ping 1.5次
-w是每次ping上(w)等待的时间(毫秒)。暂停1.5秒将是
ping -n 3 -w 500
如果在运行批处理文件的计算机上设置了网站,ping将发现它是localhost,超时将不适用。超时仅适用于失败的请求。最好为延迟ping 0.0.0.1
ping -n 3 -w 500 0.0.0.1
事实上,@thx1138v2的解决方案在我的机器上仅延迟0.04秒。因此,我修改了他的解决方案,使其更加准确
ping 1.1.1.1 -n 1 -w 1500 >nul
1500
代表1500毫秒
,即1.5秒
ping
在ping少量时间时不准确,请参见下表:
Milliseconds In Code | Actual Waited Time
1500 | 1.24 seconds - 1240 milliseconds
1600 | 1.34 seconds - 1360 milliseconds
1700 | 1.52 seconds - 1520 milliseconds
如您所见,<代码> 1700 ms 的等待时间比
注意:
ping
仅支持延迟超过99毫秒非即时性,@thx1138v2的解决方案在我的机器上仅延迟0.04秒。因此,我修改了他的解决方案,使其更加准确
ping 1.1.1.1 -n 1 -w 1500 >nul
1500
代表1500毫秒
,即1.5秒
ping
在ping少量时间时不准确,请参见下表:
Milliseconds In Code | Actual Waited Time
1500 | 1.24 seconds - 1240 milliseconds
1600 | 1.34 seconds - 1360 milliseconds
1700 | 1.52 seconds - 1520 milliseconds
如您所见,<代码> 1700 ms 的等待时间比
注意:
ping
仅支持大于99毫秒的延迟该命令是在批处理文件中等待特定时间的最佳选择,批处理文件专为在Windows 7及更高版本的Windows上执行而设计。它支持用户使用除指定为参数的/NOBREAK
之外的任何键来中断超时。它还显示了一条很好的消息,上面有一个秒倒计时,告诉用户如何打破超时。但它只支持以秒为单位的超时值,而不支持以毫秒为单位的超时值
当访问Windows 2003资源工具包时,该命令也可以在Windows XP和更高版本的Windows上使用,该小可执行文件将复制到运行批处理文件的所有计算机上。但此可执行文件已被弃用,因为它被TIMEOUT替换,并且默认情况下未安装在任何Windows计算机上
但是,对于所有窗口,一个好的选择是使用命令ping环回适配器或不可访问的IP地址,并使用选项-n
和-w
的适当值作为延迟
本地计算机的环回适配器的IP地址是127.0.0.1
,请参阅Wikipedia文章localhost
只是在Windows XP和以前的Windows版本上定义的文件%SystemRoot%\system32\drivers\etc\hosts
中的127.0.0.1
的RFC定义别名,是在Windows Vista和更高版本上内置的
127.0.0.1
的第一次ping总是立即成功。因此,使用带有-n1
选项的命令PING只会产生大约一毫秒的总延迟
因此,使用PING作为PING127.0.0.1
上的延迟需要选项-n
的值大于1
。。。要发送的回显请求数。成功请求后,PING等待约1秒,然后再发出下一个请求
因此,对于5
秒的延迟,6
echo请求需要以下命令行:
%SystemRoot%\System32\ping.exe 127.0.0.1 -n 6 >nul
注意1:Windows不是实时操作系统,因此时间不是100%准确,但对于批处理文件来说应该足够好
选项-w
以毫秒为单位定义(Microsoft文档)等待请求回显的时间。它没有定义两个成功请求之间的时间间隔。因此,此选项不能用于微调ping IP地址的延迟127.0.0.1
,因为此请求在不到1毫秒的时间内成功,并且选项-w
的值无关紧要
因此,对于以毫秒为单位而不是以秒为单位的延迟,有必要ping一个IP地址,该IP地址肯定是或至少是最有可能是不可访问的,并且由于是一个专用网络地址,因此不能通过网络路由
例如:
%SystemRoot%\System32\ping.exe 168.192.255.253 -n 1 -w 1500
IPv4地址范围从168.192.0.0到192.168.255.255适用于专用网络。此网络中的最高地址192.168.255.255是广播地址,不用于设备。通常将路由器配置为局域网广播地址减1,这意味着如果当前计算机是该专用网络的一部分,则可以将192.168.255.254分配给路由器。局域网中的其他设备通常从最低地址加1向上分配IPv4地址。因此,对于IPv4网络168.1