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