本帖最后由 咬字分开念 于 2023-7-21 04:27 编辑
写一个定时1分钟检测网络情况,如果断开了就倒计时120秒关机,如果倒计时期间连上了网则取消关机的vbs脚本
下面是一个实现你描述的功能的VBS脚本:
Set objShell = CreateObject("WScript.Shell")
Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
' 设置检测网络的时间间隔(毫秒)
CheckInterval = 60000
' 设置关机倒计时时间(秒)
ShutdownCountdown = 120
' 设置初始网络状态为已连接
IsConnected = True
' 定时检测网络状态
Do
' 检测网络连接状态
Set colItems = objWMIService.ExecQuery("Select * From Win32_NetworkAdapter Where NetConnectionStatus = 2")
If colItems.Count = 0 Then
' 网络断开,开始倒计时关机
If IsConnected Then
IsConnected = False
objShell.Run "shutdown -s -t " & ShutdownCountdown, 0, True
End If
Else
' 网络连接正常,取消关机
If Not IsConnected Then
IsConnected = True
objShell.Run "shutdown -a", 0, True
End If
End If
' 等待一段时间后再次检测
WScript.Sleep CheckInterval
Loop
你可以将以上代码保存为一个.vbs文件,然后双击运行即可开始定时检测网络状态。如果网络断开,则会开始倒计时120秒关机;如果在倒计时期间重新连接上了网络,则会取消关机。
系统操作类型的还是vbs最方便,用gpt 30秒就写出来了
自从有了gpt,编程的工作效率提高了10倍. |