Windows循环检测,直到网络通/断后执行指定命令

2023-12-10 08:45

本文主要是介绍Windows循环检测,直到网络通/断后执行指定命令,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前言

前几天,一个朋友让我帮他做个脚本或者批处理,要实现的功能很简单:开机时检测网络是否联通,如果联通了就执行一个指定的程序,然后脚本就可以退出了。

批处理的解决方法

手动操作时,我们通常使用ping命令来检测网络是否正常。

但我测试了一下,ping命令返回的errorlevel值很多,且有些情况即使不通,返回的也是0,因此不能直接通过errorlevel的值来判断网络是否正常! 

使用ping命令来实现,需要配合find等命令,但这不重要,重要的是批处理写出来感觉不太优雅..

批处理实现代码:

@echo off
:start_pingping -n 1 www.baidu.com | find "ms" >nulif %errorlevel%==0 goto run_processping -n 2 127.0.0.1 >nulgoto start_ping:run_processstart "" notepad.exe

上面的代码是网络 不通->通 时执行命令,如果是想 通->不通 时执行,只需要将==0改成==1即可

PowerShell脚本的解决方法

为了代码能优雅一点,于是我写了一个PowerShell的脚本,文件名为netTest.ps1,内容如下:

#循环检测网络是否正常
do{sleep 1$sky = Test-NetConnection -ComputerName "www.baidu.com"
}while(!$sky.PingSucceeded)#网络正常后要执行的命令,例如这样:
start notepad.exe

这样看上去就优雅点了~

上面的代码是网络 不通->通 时执行命令,如果是想 通->不通 时执行,删掉代码中的感叹号 ! 即可

但是,PowerShell脚本不能直接放到启动项中,可以使用批处理来调用它,批处理内容:

@echo off
powershell iex .\netTest.ps1

将两个文件放在同一个文件夹中,如图:

在 调用.bat 上点击右键,然后选择“创建快捷方式”,将创建出来的快捷方式放入“启动”文件夹即可实现开机自动检测。快速打开启动文件夹的方法:

按下Win+R键,输入以下代码后确定:

shell:startup

如图: 

 

这篇关于Windows循环检测,直到网络通/断后执行指定命令的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/476613

相关文章

Windows下C++使用SQLitede的操作过程

《Windows下C++使用SQLitede的操作过程》本文介绍了Windows下C++使用SQLite的安装配置、CppSQLite库封装优势、核心功能(如数据库连接、事务管理)、跨平台支持及性能优... 目录Windows下C++使用SQLite1、安装2、代码示例CppSQLite:C++轻松操作SQ

OpenCV实现实时颜色检测的示例

《OpenCV实现实时颜色检测的示例》本文主要介绍了OpenCV实现实时颜色检测的示例,通过HSV色彩空间转换和色调范围判断实现红黄绿蓝颜色检测,包含视频捕捉、区域标记、颜色分析等功能,具有一定的参考... 目录一、引言二、系统概述三、代码解析1. 导入库2. 颜色识别函数3. 主程序循环四、HSV色彩空间

Python pip下载包及所有依赖到指定文件夹的步骤说明

《Pythonpip下载包及所有依赖到指定文件夹的步骤说明》为了方便开发和部署,我们常常需要将Python项目所依赖的第三方包导出到本地文件夹中,:本文主要介绍Pythonpip下载包及所有依... 目录步骤说明命令格式示例参数说明离线安装方法注意事项总结要使用pip下载包及其所有依赖到指定文件夹,请按照以

基于Python实现一个Windows Tree命令工具

《基于Python实现一个WindowsTree命令工具》今天想要在Windows平台的CMD命令终端窗口中使用像Linux下的tree命令,打印一下目录结构层级树,然而还真有tree命令,但是发现... 目录引言实现代码使用说明可用选项示例用法功能特点添加到环境变量方法一:创建批处理文件并添加到PATH1

MySQL存储过程之循环遍历查询的结果集详解

《MySQL存储过程之循环遍历查询的结果集详解》:本文主要介绍MySQL存储过程之循环遍历查询的结果集,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录前言1. 表结构2. 存储过程3. 关于存储过程的SQL补充总结前言近来碰到这样一个问题:在生产上导入的数据发现

Windows的CMD窗口如何查看并杀死nginx进程

《Windows的CMD窗口如何查看并杀死nginx进程》:本文主要介绍Windows的CMD窗口如何查看并杀死nginx进程问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录Windows的CMD窗口查看并杀死nginx进程开启nginx查看nginx进程停止nginx服务

Java -jar命令如何运行外部依赖JAR包

《Java-jar命令如何运行外部依赖JAR包》在Java应用部署中,java-jar命令是启动可执行JAR包的标准方式,但当应用需要依赖外部JAR文件时,直接使用java-jar会面临类加载困... 目录引言:外部依赖JAR的必要性一、问题本质:类加载机制的限制1. Java -jar的默认行为2. 类加

git stash命令基本用法详解

《gitstash命令基本用法详解》gitstash是Git中一个非常有用的命令,它可以临时保存当前工作区的修改,让你可以切换到其他分支或者处理其他任务,而不需要提交这些还未完成的修改,这篇文章主要... 目录一、基本用法1. 保存当前修改(包括暂存区和工作区的内容)2. 查看保存了哪些 stash3. 恢

java -jar命令运行 jar包时运行外部依赖jar包的场景分析

《java-jar命令运行jar包时运行外部依赖jar包的场景分析》:本文主要介绍java-jar命令运行jar包时运行外部依赖jar包的场景分析,本文给大家介绍的非常详细,对大家的学习或工作... 目录Java -jar命令运行 jar包时如何运行外部依赖jar包场景:解决:方法一、启动参数添加: -Xb

python如何生成指定文件大小

《python如何生成指定文件大小》:本文主要介绍python如何生成指定文件大小的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录python生成指定文件大小方法一(速度最快)方法二(中等速度)方法三(生成可读文本文件–较慢)方法四(使用内存映射高效生成