Board logo

标题: 如何实现30秒间隔循环执行一个批处理文件?? [打印本页]

作者: horser     时间: 2006-8-2 15:23    标题: 如何实现30秒间隔循环执行一个批处理文件??

想做一个自动批处理文件,每隔30S 自动循环执行,请问如何实现?
原来想用FOR循环方式的话,该调用什么命令???想了一上午,实在搞不定啊
谢谢!

[ Last edited by horser on 2006-8-2 at 15:27 ]
作者: namejm     时间: 2006-8-2 15:38
  以下代码尚未设置终止循环的语句,请自行设置。
@echo off
:loop
do something
ping 127.1 -n 30 >nul 2>nul
goto loop

作者: horser     时间: 2006-8-2 15:56
多谢!
但是有点不理解,这个“ >nul 2>nul” 是什么意思呢?
作者: IceCrack     时间: 2006-8-2 21:09
hh.exe ntcmds.chm::/redirection.htm
开始  运行. 看看上面的页面就清楚了
作者: namejm     时间: 2006-8-2 23:36
Re horser:

  >nul 2>nul意思是无论该语句执行是否成功,都屏蔽执行结果在屏幕上的显示。更多的内容,请用论坛的搜索功能。其实这个话题已经有很多的帖子涉及过了,善用论坛的搜索功能会让你很快成为批处理高手的。
作者: xjmxjm1234     时间: 2006-8-3 13:53
nul 是空设备名 像个黑洞
> 是覆盖输出的意思
1是输出流,2是错误流(1可以省略不写)

>nul 2>nul 就是把 命令执行的输出信息和错误信息不输出到屏幕,而是输出到一个根本不存在的设备.

常见设备名:
con 控制台(键盘和显示器)
aux , com1 - com4 所有串口
prn , lpt1 - lpt3 所有并口
nul 空设备
clock$ 电子钟
写命令时可以引用,文件不能用这些名字来命名

重定向操作符
> 将命令输出写入到文件或设备中,而不是写在命令提示符窗口中。
< 从文件中而不是从键盘中读入命令输入。
>> 将命令输出添加到文件末尾而不删除文件中的信息。
>& 将一个句柄的输出写入到另一个句柄的输入中。
<& 从一个句柄读取输入并将其写入到另一个句柄输出中。
| 从一个命令中读取输出并将其写入另一个命令的输入中。也称作管道。

0 输入
1 输出
2 错误输出
3-9 由应用程序和各个具体工具单独定义。
作者: studyit     时间: 2006-8-7 22:53    标题: 感谢六楼

xjmxjm1234的指点让我全明白了以前不明白几个的符号。
非常感谢
作者: luowei14     时间: 2007-6-18 14:55
好帖就得顶。。。。楼主的帖让我领悟了很多东西。。下面这个作品就是拜楼主所赐

   每隔20秒自动检测进程列表,自动关闭notepad.exe,也就是记事本程序,如有需要,可以改成某病毒的名称,可以起到监控的作用。。。

@echo off
:1
tasklist | find "notepad.exe" >>c:\notepad.luowei
if exist c:\notepad.luowei taskkill /f /im notepad.exe  
ping 127.1 -n 20 >nul 2>nul
goto 1

[ Last edited by luowei14 on 2007-6-18 at 02:57 PM ]
作者: jzcn     时间: 2007-6-20 08:20
用SLEEP不行吗?