吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 13869|回复: 218
收起左侧

[原创工具] 断网自动关机工具-加上ups可以实现停电自动关机

    [复制链接]
H2o 发表于 2023-7-20 13:13
本帖最后由 H2o 于 2023-8-2 09:50 编辑

更新回复:评论区看到很多有改善意义的评论,也有其他方案的,单软件方案对于小白来说还是比较实用的,抽空会把软件优化重构一下。谢谢各位捧场
------------------------------------------------------------------------------------------------------------------------------------------------------------------------

公司经常异常断电,搞坏我好几个硬盘了,买了个便宜的ups直接连上我的电脑。


网上找了类似的软件都不好用,直接写了个。


用于突然停电的情况,电脑实现软关机,避免硬件和资料损坏。使用UPS配合主板设置来电自动开机,不用随时盯着。


这个主要用于个人win电脑,机房一般都有发电机和后备电系统,还有维护人员盯着。

原理就是检测网络,内网外网IP都可以,防止误判必须满足两个地址同时失效才会执行关机倒计时,我填的是路由器IP和另外一个设备的IP,并且有提示音,倒计时期间网络恢复会取消关机。

软件如果感觉有点卡,是网络检测超时反馈,不影响使用,不占资源。
断网2.png


断网.png


1.png
哈勃查毒链接https://habo.qq.com/file/showdetail?pk=ADYGZl1tB2UIO1s9U2U%3D




易语言写的应该会误报毒,请酌情使用。

下载地址https://cage.lanzouw.com/ihYG112zzvfa

免费评分

参与人数 30吾爱币 +31 热心值 +27 收起 理由
wa88888888 + 1 鼓励转贴优秀软件安全工具和文档!
spiderkk + 1 + 1 很实用的小工具!
xxx1900 + 1 谢谢@Thanks!
zongwei + 1 我很赞同!
Alan_Lin + 1 winpower 了解一下,UPS电源不够自动关机
barry1204 + 1 + 1 谢谢@Thanks!
Zatoichi + 1 + 1 谢谢@Thanks!
15235109295 + 1 + 1 谢谢@Thanks!
zym8058 + 1 + 1 我很赞同!
baihuas + 1 + 1 谢谢@Thanks!
坐照 + 1 谢谢@Thanks!
kennyt + 1 + 1 谢谢@Thanks!
catoo1 + 1 谢谢@Thanks!
chao8709 + 1 + 1 我很赞同!
zkinig929 + 1 + 1 谢谢@Thanks!
FREESUKI + 1 + 1 谢谢@Thanks!
xy6538 + 1 谢谢@Thanks!
zcyp0314 + 1 + 1 谢谢@Thanks!
吉祥喵 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
北冥鱼 + 1 + 1 我很赞同!
艾爱姆Joker + 1 + 1 谢谢@Thanks!
lm1229 + 1 + 1 我很赞同!
wxlwxl + 1 + 1 666666666
风之暇想 + 7 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
Peaknet + 1 + 1 谢谢@Thanks!
mengxiansheng98 + 1 + 1 论坛禁止求脱求破,求助软件分析思路,务必在主题帖中描述清楚你的分析思路.
年少LOVE轻狂 + 1 + 1 谢谢@Thanks!
xyz349925756 + 1 + 1 用心讨论,共获提升!
shiqi911 + 1 谢谢@Thanks!
开心长寿果 + 1 + 1 谢谢@Thanks!

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

咬字分开念 发表于 2023-7-20 15:50
本帖最后由 咬字分开念 于 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倍.

免费评分

参与人数 5吾爱币 +3 热心值 +3 收起 理由
aabbcc123123 + 1 + 1 谢谢@Thanks!
北冥鱼 + 1 我很赞同!
金叶白兰 + 1 我很赞同!
gxyq520 + 1 我很赞同!gpt这么好用吗?
maniac233 + 1 我很赞同!

查看全部评分

yyzb 发表于 2023-7-24 16:01
本帖最后由 yyzb 于 2023-7-24 16:02 编辑

@echo off
title 网络异常关机程序--52破解首发
color 1a

echo.
echo                     网络异常关机程序

set admin=0
set fail_times=5
set default_fail_times=5
set restart_net=0
set restart_wait_sec=120

:: 设置默认数值和添加注释


:: 检测间隔时间
set check_sec=120
echo.
echo 程序默认将会每隔 %check_sec% 秒检测一次网络连接状态!

goto:check


:: 网络可中断次数
set /p "fail_times=请输入网络可中断次数(默认5):"

echo.
echo 当网络中断的次数达到 %fail_times% 后,该程序将自动执行关机!

:: 是否重新连接网络
set /p "restart_net=是否重新连接网络(需管理员权限:默认0不重连,1重连):"
echo.

:: 重新连接网络等待时间
if %restart_net%==1 (
  if %admin%==0 (
    echo.
    echo 【重新连接网络】需要右键以管理员身份运行
    echo.
    pause
    exit
  )
  set /p "restart_wait_sec=请输入重连网络等待时间(单位秒,默认120):"
  echo.
)

set default_fail_times=%fail_times%



echo ===============确认配置项清单=================
echo.
echo 每隔 %check_sec% 秒检测一次。
echo 当断开网络次数达到 %fail_times% 时自动关机。
if %restart_net%==1 (
    echo 将会尝试重新连接网络。
    echo 重连网络时等待 %restart_wait_sec% 秒。
)
echo.
echo ==============================================
echo.
pause

rem 检测网络连接
:CHECK
echo 网络检测中...
ping 192.168.2.1
if %errorlevel%==0 (goto OK) else (goto FAIL)

:OK
cls
echo.
echo 网络连接正常!
echo 等待%check_sec%秒再次检测,%date%,%time%
echo 剩余网络可中断次数:%fail_times%
echo.
ping -n %check_sec% 127.0.0.1>nul
goto CHECK

:FAIL
cls
echo.
echo 网络连接异常!
echo.
echo 剩余网络可中断次数:%fail_times%
echo.
if %fail_times%==0 goto SHUTDOWN
set /a fail_times=%fail_times%-1
if %restart_net%==1 goto RESTART_NET
ping -n %check_sec% 127.0.0.1>nul
echo %fail_times%
goto CHECK

rem 重启所有可连接网络
:RESTART_NET
echo 自动重启网络,请耐心等待...
::echo %%d | findstr /i "device" &&
for /f "tokens=1-4 delims=," %%a in ('Getmac /v /nh /fo csv') do (
  cls
  echo 正在重启可连接网络:%%a
  echo 网卡:%%b
  echo MAC地址:%%c
  netsh interface set interface name=%%a disabled
  netsh interface set interface name=%%a enable
)
echo.
echo 重启完毕,等待%restart_wait_sec%秒重新检测网络
echo.
::set restart_net=0
ping -n %restart_wait_sec% 127.0.0.1>nul
goto CHECK

:SHUTDOWN
echo 将在60秒后执行关机
shutdown -s -c "网络异常." -t 60
echo.
echo 按任意键取消关机
echo.
pause>nul
shutdown -a
cls
echo.
echo 已取消关机,按任意键退出程序
echo.
pause>nul
exit

我用的这个.直接一个批处理, 也是52里的一个大哥写的. 然后直接丢个开机运行!   单程序也不错
开心长寿果 发表于 2023-7-20 13:21
weliong 发表于 2023-7-20 13:23
挺好的软件!
ucukusii 发表于 2023-7-20 13:26
这个工具好,我正好有用。谢谢
wm517 发表于 2023-7-20 13:39
学习学习
ee789852 发表于 2023-7-20 13:40
真是个人才啊,谢谢这么好用的软件
kisa 发表于 2023-7-20 13:41
不错,笔记本应该不涉及这种情况
qq82015930 发表于 2023-7-20 13:48
有专门的ups配套软件 及硬件
huobingqilin 发表于 2023-7-20 13:51
有用,谢谢
51129823 发表于 2023-7-20 13:53
挺不错的,支持下
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-23 03:25

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表