我想创建一个批处理文件,首先在启动时对共享驱动器进行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