在执行批处理文件之前等待网络连接

时间:2015-03-14 14:33:29

标签: batch-file

我在登录Windows时有一个运行python脚本的蝙蝠。

start C:\python34\pythonw.exe D:\myscript.py

myscript.py需要一些Internet活动,有时无法正常执行,因为登录Windows后没有立即激活Internet连接。

如何确保只有在建立了Internet连接后才运行myscript?

3 个答案:

答案 0 :(得分:2)

只需ping一下www.google.com等服务器即可 然后你只需要检查错误级别的答案:

ping www.google.com -n 1 -w 1000
if errorlevel 0 start C:\python34\pythonw.exe D:\myscript.py
if errorlevel 1 echo No network

修改 添加了几行代码。

另一个编辑: 一个更好的方法就是这样:

:ping
ping 1.2.3.4 -n 1 -w 1000 > nul
set target=www.google.com
ping %target% -n 1 | find "TTL="
if errorlevel==1 goto ping
start C:\python34\pythonw.exe D:\myscript.py

第一次ping会增加1秒(1000毫秒)的延迟,所以我们不会超载。

答案 1 :(得分:0)

@echo off
set target=www.google.com
echo Waiting for connection..
:ping
<nul set /p strTemp=.
timeout 2 > NUL
ping %target% -n 1 | find "TTL="
if errorlevel==1 goto ping
echo.
echo Connected
REM start somthing
REM start C:\_soft\putty.exe

答案 2 :(得分:0)

这对我有用,也许对您也有帮助!


@ECHO OFF
:loop
PING google.com | FIND "time=" > NUL
echo waiting.....
IF ERRORLEVEL 1 goto loop 

ECHO You have active connection to the Internet

REM you can add your scripts to run after internet connection success

pause

现在我试图显示为蝙蝠中的负载,上面的代码将打印等待中……直到连接成功