如何在批处理文件中将ping命令用作中断条件的变量



我想创建一个批处理文件,首先在启动时对共享驱动器进行ping,看看它是否准备好进行映射,然后在返回ping时进行映射。作为psuedo,类似这样的东西:

while true:
ping ipaddr -t
if (ping returned):
break
map drive

我相信语法应该是这样的:

:checkping
ping ipaddr -t
if ping:
goto mountZ
fi
goto checkping
:mountZ
net use Z:....

那么,我该如何在一个可用的变量中设置ping来打破循环呢?

您可以使用以下内容。如果存在TTL(生存时间(,则它将转到a,否则它将继续。

:checkping
ping -n 1 www.google.com | findstr TTL && goto a
goto checkping
Break
:a
REM Mapped Drive is connected
:loop
net use K: \127.0.0.1C$
If errorlevel 1 goto loop

是一种简单的方法。

@echo off
:checkping
ping 8.8.8.8 > nul
IF ERRORLEVEL 1 echo Not Connected &  goto checkping
IF ERRORLEVEL 0 echo Connected     &  net use Z:....
pause 

最新更新