用于检查网络状态的批处理脚本?

问题描述 投票:0回答:1

我有一个脚本可以在 Windows 启动时启动一些应用程序,但我想在 WiFi 尚未连接时暂停。我写了这个,但是当网络启动时它不会触发。

@echo on
setlocal

set /A cnt = 0

:networkLoop
ping www.google.pt -n 1 -w 1000 1>nul: 2>nul:
echo Errorlevel: %errorlevel%
if errorlevel 1 goto networkRetry else goto networkOK

:networkRetry
set /A cnt+=1
ECHO Network not OK (pass %cnt%) * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
if /I %cnt% GTR 30 goto networkBad
TIMEOUT /T 2
goto networkLoop

:networkBad
ECHO Try to reset WIFI manually
pause

:networkOK
ECHO doing program loads
start brave
cd  "C:\Program Files (x86)\Steam" 
start steam.exe
TIMEOUT /T 3 >NUL 2>&1
start Thunderbird

:END

endlocal

即使我打开网络,这也会循环。 ping 不会返回错误级别 0。

batch-file networking
1个回答
0
投票

Dos 脚本有点像噩梦。我可以通过将 IF 语句更改为(添加括号)来修复它: 如果错误级别 1(转到网络重试),否则转到网络OK

© www.soinside.com 2019 - 2024. All rights reserved.