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 的等待时间比 1500 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 的等待时间比 1500 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作为PING
127.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