批处理文件 - 无限循环检查 vpn 连接



我有这个批处理文件来自动化连接到VPN的工作中的此过程。在VPN连接后,它还需要采取一些其他步骤,所以我写了一个循环,不断检查是否有VPN连接。但即使VPN连接,它也永远无法脱离循环。请帮忙。

这是相关的代码

"%ProgramFiles(x86)%Cisco SystemsVPN Clientipsecdialer.exe" -c -sd -user %username% -pwd %vpn_password% "lifeline-ceacc.elluciancloud.com"
:loop
set length_of_file = 0
("%ProgramFiles(x86)%Cisco SystemsVPN Clientvpnclient.exe" stat) >_vpnstat.txt
PING -n 5 127.0.0.1>nul
set /p vpnstat=<_vpnstat.txt
call :strlen length_of_file vpnstat
echo %length_of_file%
::del _vpnstat.txt::
IF %length_of_file% LSS 46 goto :loop

::doing some other stuff here::

goto :eof
:strlen <resultVar> <stringVar>
(   
    setlocal EnableDelayedExpansion
    set "s=!%~2!#"
    set "len=0"
    for %%P in (4096 2048 1024 512 256 128 64 32 16 8 4 2 1) do (
        if "!s:~%%P,1!" NEQ "" ( 
            set /a "len+=%%P"
            set "s=!s:~%%P!"
        )
    )
)
( 
    endlocal
    set "%~1=%len%"
    exit /b
)
set /p vpnstat=<_vpnstat.txt
IF "%vpnstat:~46%" equ "" goto loop

会更容易...

最新更新