在有互联网时进行批处理文件循环,或者在没有互联网时启动程序并退出



这个想法是让一个批处理文件每 5 分钟 ping 一次互联网以查看是否有连接。如果有互联网连接,批处理文件将每 5 分钟循环一次以再次 ping。如果没有互联网连接,则批处理文件将启动程序并退出。我创建了一个批处理文件,该文件可以执行所有操作,但在未检测到互联网时退出。

到目前为止,我所拥有的只是按照应有的方式循环,但如果互联网连接未连接并且启动notepad.exe,我就会陷入困境。我对批处理文件了解不多,并且正在尝试从搜索中将内容拼凑在一起,我需要帮助。

@echo off
setlocal
cls
:loop
@ping 209.222.18.218 -n 1 -w 1000> nul
if %ERRORLEVEL% EQU 1 start C:windowsnotepad.exe
timeout /t 60 >null
goto loop

预期结果:批处理文件每 5 分钟对互联网执行一次 ping 操作,以检测到是否存在互联网连接。如果有互联网连接,批处理文件将每 5 分钟循环一次。如果没有互联网连接,批处理文件将启动notepad.exe然后自行退出。

实际结果,当它检测到互联网时,我让批处理文件循环,但在没有互联网时我无法让它自行退出。

稍微重新排列你的行:

:loop
timeout 300 >nul
ping 209.222.18.218 -n 1 -w 1000 |find "TTL=" >nul
if %errorlevel%==0 goto :loop
REM if not errorlevel 1 goto :loop
start C:windowsnotepad.exe

使用if线之一 - 以您更熟悉的方式为准。

相关内容

最新更新