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

相关文章

Oracle Expdp按条件导出指定表数据的方法实例

《OracleExpdp按条件导出指定表数据的方法实例》:本文主要介绍Oracle的expdp数据泵方式导出特定机构和时间范围的数据,并通过parfile文件进行条件限制和配置,文中通过代码介绍... 目录1.场景描述 2.方案分析3.实验验证 3.1 parfile文件3.2 expdp命令导出4.总结

javafx 如何将项目打包为 Windows 的可执行文件exe

《javafx如何将项目打包为Windows的可执行文件exe》文章介绍了三种将JavaFX项目打包为.exe文件的方法:方法1使用jpackage(适用于JDK14及以上版本),方法2使用La... 目录方法 1:使用 jpackage(适用于 JDK 14 及更高版本)方法 2:使用 Launch4j(

Linux使用nohup命令在后台运行脚本

《Linux使用nohup命令在后台运行脚本》在Linux或类Unix系统中,后台运行脚本是一项非常实用的技能,尤其适用于需要长时间运行的任务或服务,本文我们来看看如何使用nohup命令在后台... 目录nohup 命令简介基本用法输出重定向& 符号的作用后台进程的特点注意事项实际应用场景长时间运行的任务服

Redis的Hash类型及相关命令小结

《Redis的Hash类型及相关命令小结》edisHash是一种数据结构,用于存储字段和值的映射关系,本文就来介绍一下Redis的Hash类型及相关命令小结,具有一定的参考价值,感兴趣的可以了解一下... 目录HSETHGETHEXISTSHDELHKEYSHVALSHGETALLHMGETHLENHSET

JAVA中while循环的使用与注意事项

《JAVA中while循环的使用与注意事项》:本文主要介绍while循环在编程中的应用,包括其基本结构、语句示例、适用场景以及注意事项,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录while循环1. 什么是while循环2. while循环的语句3.while循环的适用场景以及优势4. 注意

windows端python版本管理工具pyenv-win安装使用

《windows端python版本管理工具pyenv-win安装使用》:本文主要介绍如何通过git方式下载和配置pyenv-win,包括下载、克隆仓库、配置环境变量等步骤,同时还详细介绍了如何使用... 目录pyenv-win 下载配置环境变量使用 pyenv-win 管理 python 版本一、安装 和

如何使用 Bash 脚本中的time命令来统计命令执行时间(中英双语)

《如何使用Bash脚本中的time命令来统计命令执行时间(中英双语)》本文介绍了如何在Bash脚本中使用`time`命令来测量命令执行时间,包括`real`、`user`和`sys`三个时间指标,... 使用 Bash 脚本中的 time 命令来统计命令执行时间在日常的开发和运维过程中,性能监控和优化是不

C#如何优雅地取消进程的执行之Cancellation详解

《C#如何优雅地取消进程的执行之Cancellation详解》本文介绍了.NET框架中的取消协作模型,包括CancellationToken的使用、取消请求的发送和接收、以及如何处理取消事件... 目录概述与取消线程相关的类型代码举例操作取消vs对象取消监听并响应取消请求轮询监听通过回调注册进行监听使用Wa

PHP执行php.exe -v命令报错的解决方案

《PHP执行php.exe-v命令报错的解决方案》:本文主要介绍PHP执行php.exe-v命令报错的解决方案,文中通过图文讲解的非常详细,对大家的学习或工作有一定的帮助,需要的朋友可以参考下... 目录执行phpandroid.exe -v命令报错解决方案执行php.exe -v命令报错-PHP War

Python使用pysmb库访问Windows共享文件夹的详细教程

《Python使用pysmb库访问Windows共享文件夹的详细教程》本教程旨在帮助您使用pysmb库,通过SMB(ServerMessageBlock)协议,轻松连接到Windows共享文件夹,并列... 目录前置条件步骤一:导入必要的模块步骤二:配置连接参数步骤三:实例化SMB连接对象并尝试连接步骤四: