You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在目标主机可ping通时触发脚本并弹出提示消息[Cmd、PowerShell]

实现主机上线自动检测与触发操作

完全可以实现这个需求,不过你提供的示例代码仅执行单次ping检测,若首次ping不通会直接终止,无法持续监测主机状态。下面是优化后的完整解决方案:

核心思路

通过循环持续ping目标主机,一旦检测到主机返回响应(包含TTL=字段),立即执行指定脚本并发送弹窗提示。

改进后的批处理脚本

@echo off
:: 配置参数
set "TARGET=192.168.1.100"  :: 替换为目标主机的IP或域名
set "RUN_SCRIPT=C:\scripts\your_task.bat"  :: 替换为要执行的指定脚本路径

:CHECK_LOOP
:: 发送1个ping包,检测主机是否响应
ping -n 1 %TARGET% | find "TTL=" >nul
if %errorlevel% equ 0 (
    :: 主机上线,执行操作
    echo [%date% %time%] 主机 %TARGET% 已上线
    msg * "提示:主机 %TARGET% 恢复在线!"
    :: 调用指定脚本,若不需要脚本可删除此行
    call "%RUN_SCRIPT%"
    goto EXIT
)
:: 未检测到响应,等待5秒后重试(可自行调整等待时间)
timeout /t 5 /nobreak >nul
goto CHECK_LOOP

:EXIT
pause

参数说明与自定义选项

  • TARGET:替换为你需要监测的主机IP地址或域名
  • RUN_SCRIPT:替换为要自动运行的脚本路径,若无需执行脚本,直接删除call "%RUN_SCRIPT%"这一行即可
  • 等待时间:timeout /t 5中的5代表每次检测间隔5秒,可根据需求修改为其他数值(如10代表间隔10秒)
  • 消息接收范围:msg *会给当前系统所有登录用户发送弹窗,若只想给当前用户发送,可改为msg %username%

注意事项

  • 该脚本无需管理员权限即可在本地运行,若需给远程用户发送消息则需额外权限
  • 若需要后台持续运行,可右键脚本选择「以最小化方式运行」,或通过Windows任务计划设置开机自动启动

内容的提问来源于stack exchange,提问作者Alphabet

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 04:20:22