你的命令是基于 find "TTL=" 的,它适用于 ip4 号码,所以这应该可以工作
@echo off
REM stor.bat:
ping -n 1 %1 | find "TTL="
if %errorlevel%==0 (echo Reachable & explorer.exe \\%1\c$\) else (echo Not reachable & pause)
所以
stor 127.0.0.1
Reply from 127.0.0.1: bytes=32 time<1ms TTL=128
Reachable
但 ping 并不理想,名称请参阅此响应,其中未显示成功
stor advent
Not reachable
但是ping -n 1 advent 没有返回“TTL”的提示
Pinging ADVENT [fe80::6467:ace9:6aef:cb1a%10] with 32 bytes of data:
Reply from fe80::6467:ace9:6aef:cb1a%10: time=1ms
Ping statistics for fe80::6467:ace9:6aef:cb1a%10:
Packets: Sent = 1, Received = 1, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 1ms, Maximum = 1ms, Average = 1ms
一种方法是“查找”响应,例如“往返”
@echo off
REM stor.bat:
ping -n 1 %1 | find "round trip"
if %errorlevel%==0 (echo Reachable & explorer.exe \\%1\c$\) else (echo Not reachable & pause)
[Edit] 正如@Stephen 提醒的那样,我们可以使用您的第一种方法,通过添加 -4 来强制 TTL=
@echo off
REM stor.bat:
ping -4 -n 1 %1 | find "TTL="
if %errorlevel%==0 (echo Reachable & explorer.exe \\%1\c$\) else (echo Not reachable & pause)