中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-02 12:51
48,038 主题排行 / 350,123 发帖 / 今日 1 篇 / 48,251 会员排行
DOS批处理 & 脚本技术(批处理室) » 如何实现每5秒打开文档2秒后自动关闭文档
可打印版本  1,590 / 5
第1楼 bbq123bbq 发表于 2006-11-17 05:01
初级用户 发帖 77 积分 197
如何实现每5秒打开文档2秒后自动关闭文档
@echo off
set n=1
:start
cls
for /f "tokens=1,2" %%i in ('arp -a^|findstr /c:" 192.168.0.251"') do echo %n% 次 %%i %%j

>>temp.txt
for /f "tokens=1,2" %%i in ('arp -a^|findstr /c:" 192.168.0.251"') do echo %n% 次 %%i %%j
set /a n=%n%+1
for /l %%a in (0,5,20) do if %n%==%%a start temp.txt
ping -n 2 127.1 >nul
goto start

显示temp.txt次数是自己控制的..只能显示20次,能不能不限制打开temp.txt次数,循环每5秒打开一次temp.txt ?还有每隔5秒开打temp.txt 显示2秒后自动关闭开打的temp.txt ?
第2楼 hxuan999 发表于 2006-11-23 03:13
中级用户 发帖 161 积分 337
关注
第3楼 vkill 发表于 2006-11-23 23:38
金牌会员 发帖 1,744 积分 4,103 来自 甘肃.临泽
每5秒打开一次temp.txt 显示2秒后自动关闭开打的temp.txt

start and taskkill
第4楼 redtek 发表于 2006-11-24 02:47
金牌会员 发帖 1,147 积分 2,902
sendMsg.cmd 代码如下:




在 “:Redtek 2006” 标签代码段可根据自己需要的值更改初始变量。


原理: 利用 Windows 系统自带的工具 MSG 消息发送系统来完成消息的显示工具。
    MSG 的 /w 参数具有 “阻塞执行状态” 执行显示当前窗口的功能,执行时系统处于等待状态,直行完才退出。

    MSG 的 /TIME 参数具有等待接收器确认消息的时间延迟功能,即除非用户主动结束窗口,否则消息在显示指定的n秒后结束显示。
    这样就代替了以强行杀掉进程的操作试图完成关闭消息显示窗口的方法。

    同时,MSG 可以将指定的消息发送到局域网内的任何一台计算机内,无论是广播还是指定接收者,都能如愿以偿的执行:)

    如果使用 Ping -n ....<nul 指令以求间接达到 “延时” 的效果,则CPU将处于高负荷状态,甚至达到90%。
    所以使用了 CHOICE 来达到等待延时的效果,经测试其CPU峰值约0-2%左右。
    而 CHOICE 的取用户选择值的功能,可以达到按指定的键则终止代码运行,方便用户执行期间安全退出。

    当执行 ARP 时,其 CPU 测试峰值约为 2-13%,对系统影响不大。


    for /f "delims==" %%i in ('set .') do set "%%i=" 这条语句是为了清除使用过的变量而设置的。
    代码中所用到的变量均为前面加一个 “.”,这样当我使用完它们时则一个For就可以了,不用一个一个列出来再删。
    这是利用了 SET . 当此操作时,系统会显示所有以 “.” 开头的变量,一个for自然全部将其找到并“引入”,然后赋“空”值清除操作。



) 另:中文版 Windows XP 系统如果你找不到 CHOICE.EXE 文件,则这个文件与此代码一同被压缩进此贴附件内,需要的朋友方便下载:)

附件
sendMsg.rar (17.47 KiB)
第5楼 lxmxn 发表于 2006-11-25 10:13
版主 发帖 4,938 积分 11,386

第6楼 lxmxn 发表于 2006-11-26 20:34
版主 发帖 4,938 积分 11,386

  多谢 Redtek 兄多次鼓励呀~
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023