批量侦听ping关闭

时间:2014-11-12 19:06:50

标签: batch-file ping shutdown packets listen

我试图制作一个批处理文件,等待来自网络的某个ip的6个数据包ping。当机器收到6个echo请求时,应自动关闭。我将使这个批处理文件在启动时作为服务运行,我不需要这部分的帮助。任何人都可以帮我听听部分吗?

1 个答案:

答案 0 :(得分:0)

作为替代方案,为什么不在“监听”脚本不断查找的特殊位置(可能甚至是特殊内容)中创建文件,并且一旦存在,就删除文件并关闭机器? / p>

这至少可以批量完成。

SETLOCAL
SET "HANDSHAKE=%WINDIR%\System32\SPECIAL\SHUTDOWN_NOW"
:LOOP
IF EXIST "%HANDSHAKE%" (
    DEL /Q "%HANDSHAKE%"
    shutdown -s -f -t 0
)
PowerShell -NoProfile -Command "Sleep(60);"
GOTO :LOOP

Windows没有本机睡眠命令。其他人一直认为的替代策略比PowerShell具有更少的开销(但是,因为它只是睡眠,开销可能无关紧要)是ping本地主机适配器的时间(例如ping -n 60 127.0.0.1)。

当然,整个脚本可以用PowerShell编写,但是你必须使用ExecutionPolicy和其他东西。