简单批处理,用于检查Internet连接并根据结果设置环境变量%internet%

梦想家

我想检查互联网连接,当它失败时,我想设置%internet%为未连接。如果它起作用connected

echo checking internet connection
Ping www.google.nl -n 1 -w 1000
cls
if errorlevel 1 (set internet=Not connected to internet)
if errorlevel 0 (set internet=Connected to internet)

我也尝试过这个:

@echo off
cls
echo Checking connection
ping -n 1 www.google.com >nul
if errorlevel 1 (
  cls
  set "%internet%"=="Not connected to internet"
  echo %internet%
  pause>nul
  exit
)

cls
set "%internet%"=="Connected to internet"
echo %internet%
pause>nul
pause

- - - - - - - -编辑 - - - - - -

这是更多的代码。

@echo off
set versienummer=v3.1
title AutoMatic Program Install Stable %versienummer% by eric
color 0a
:CheckOS 
IF "%PROCESSOR_ARCHITECTURE%"=="x86" (set bit=x86) else (set bit=x64)
set "windows="
VER | find  " 5.1." > nul && set windows=XP
VER | find  " 5.2." > nul && set windows=XP 64-Bit or Server 2003 or Server 2003 R2 
VER | find  " 6.0." > nul && set windows=Vista or server 2008
VER | find  " 6.1." > nul && set windows=Win7 or server 2008 R2
VER | find  " 6.2." > nul && set windows=Windows 8
VER | find  " 6.3." > nul && set windows=Server 2012 R2 or Windows 8.1
if defined windows (
echo %windows%
) else (
echo unknown operating system
)
:ReturnToBaseLine



echo checking internet connection
Ping www.google.nl -n 1 -w 1000
cls
if errorlevel 1 (set internet=Not connected to internet)
if errorlevel 0 (set internet=Connected to internet)
SET Connected=false
FOR /F "usebackq tokens=1" %%A IN (`PING google.com`) DO (
REM Check the current line for the indication of a successful connection.
IF /I "%%A"=="Reply" SET Connected=true
)
REM Check if a success was found.
IF "%Connected%"=="true" SET internet=Connected to internet

REM If we get here, we are not connected.
set internet=Not connected to internet
pause

REM Quit.



color 0a
cls
echo Made By The Amazing 
echo.
echo    ____    _       ________         ___                            
echo   / __/___(_)___  /_  __/ /  ___   / _ \_______ ___ ___ _  ___ ____
echo  / _// __/ / __/   / / / _ \/ -_) / // / __/ -_) _ `/  ' \/ -_) __/
echo /___/_/ /_/\__/   /_/ /_//_/\__/ /____/_/  \__/\_,_/_/_/_/\__/_/   
echo.                                                                   
Echo     %bit% processor architecture           versie %versienummer%
echo     %windows%
echo     %internet%
echo.

-----------------------------编辑3 ------------------
完成

oo

稍作调整,您的原始代码即可使用。

echo checking internet connection
Ping www.google.nl -n 1 -w 1000
cls
if errorlevel 1 (set internet=Not connected to internet) else (set internet=Connected to internet)

echo %internet%

问题是,IF ERRORLEVEL n如果errorleveln或大于n则为TRUE IF ERRORLEVEL 0因此永远是正确的。IF NOT ERRORLEVEL 1是对errorlevel = 0的测试。一样IF %ERRORLEVEL%==0,除了前者可以在一个块内使用而后者不能使用。

Nence,您的代码正在设置,not connected但是由于if条件始终为true,因此下一行将用第二条消息覆盖该值。

请注意,这set "%internet%"=="Connected to internet"意味着“将变量的名称设置为变量internet的值”

因此,如果internet当时的值为fredfred则将其设置为not internet

此外,在block语句中(a parenthesised series of statements),将解析整个然后执行。解析该块时-执行该块之前-该块中的任何内容%var%都将由该变量的值替换-同样适用于FOR ... DO (block)

因此,由于您要设置internet一个块(if - true语句序列),因此您需要使用两种常用方法之一来克服此问题:1)使用setlocal enabledelayedexpansion!var!代替%var%来访问var的更改值2)调用子例程使用更改后的值进行进一步处理。从技术上讲,与第二种方法相关的一种方法是使用该语句call echo %%internet%%显示internet块中更改的值

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用批处理文件设置Windows环境变量

来自分类Dev

根据环境变量的值设置变量

来自分类Dev

通过批处理文件设置环境变量意外退出

来自分类Dev

批处理脚本-使用管道时未设置环境变量

来自分类Dev

在通过Windows批处理脚本生成的外壳中设置多个环境变量

来自分类Dev

Javascript执行批处理文件,该文件结合了每个会话的环境变量设置

来自分类Dev

nodejs应用无法识别之前设置的批处理环境变量

来自分类Dev

使用批处理文件通过命令行设置环境变量

来自分类Dev

如何将 perl 脚本中设置的环境变量导出到批处理 shell?

来自分类Dev

批处理文件:“未定义环境变量”

来自分类Dev

参数中的CMD批处理转义环境变量

来自分类Dev

将环境变量传递到批处理文件

来自分类Dev

批处理-Internet验证

来自分类Dev

bazel:根据环境变量设置全局变量

来自分类Dev

如何在Windows上仅在批处理文件中设置PATH环境变量一次?

来自分类Dev

设置环境变量

来自分类Dev

根据环境变量设置Spring Boot application.properties

来自分类Dev

根据TLD在.htaccess中设置环境变量

来自分类Dev

Jenkins Pipeline:根据参数设置环境变量

来自分类Dev

如何根据GUI是否可用设置环境变量?

来自分类Dev

如何检查是否在cmake中设置了环境变量

来自分类Dev

检查makefile中是否设置了环境变量

来自分类Dev

如何检查是否在C程序中设置了环境变量

来自分类Dev

公共环境变量,用于设置深色或浅色终端背景

来自分类Dev

公共环境变量,用于设置深色或浅色终端背景

来自分类Dev

启动用于设置环境变量的图形界面

来自分类Dev

OpenShift Python mongoDB环境变量未设置/无法连接

来自分类Dev

Internet连接检查UIWebView?

来自分类Dev

将Windows环境变量分配给批处理变量?

Related 相关文章

  1. 1

    使用批处理文件设置Windows环境变量

  2. 2

    根据环境变量的值设置变量

  3. 3

    通过批处理文件设置环境变量意外退出

  4. 4

    批处理脚本-使用管道时未设置环境变量

  5. 5

    在通过Windows批处理脚本生成的外壳中设置多个环境变量

  6. 6

    Javascript执行批处理文件,该文件结合了每个会话的环境变量设置

  7. 7

    nodejs应用无法识别之前设置的批处理环境变量

  8. 8

    使用批处理文件通过命令行设置环境变量

  9. 9

    如何将 perl 脚本中设置的环境变量导出到批处理 shell?

  10. 10

    批处理文件:“未定义环境变量”

  11. 11

    参数中的CMD批处理转义环境变量

  12. 12

    将环境变量传递到批处理文件

  13. 13

    批处理-Internet验证

  14. 14

    bazel:根据环境变量设置全局变量

  15. 15

    如何在Windows上仅在批处理文件中设置PATH环境变量一次?

  16. 16

    设置环境变量

  17. 17

    根据环境变量设置Spring Boot application.properties

  18. 18

    根据TLD在.htaccess中设置环境变量

  19. 19

    Jenkins Pipeline:根据参数设置环境变量

  20. 20

    如何根据GUI是否可用设置环境变量?

  21. 21

    如何检查是否在cmake中设置了环境变量

  22. 22

    检查makefile中是否设置了环境变量

  23. 23

    如何检查是否在C程序中设置了环境变量

  24. 24

    公共环境变量,用于设置深色或浅色终端背景

  25. 25

    公共环境变量,用于设置深色或浅色终端背景

  26. 26

    启动用于设置环境变量的图形界面

  27. 27

    OpenShift Python mongoDB环境变量未设置/无法连接

  28. 28

    Internet连接检查UIWebView?

  29. 29

    将Windows环境变量分配给批处理变量?

热门标签

归档