标题: 批处理怎样每间隔一段时间运行另外的批处理? [打印本页]
作者: ny350101 时间: 2011-3-17 01:11 标题: 批处理怎样每间隔一段时间运行另外的批处理?
- rd %systemroot%\TEMP /S/Q
- md %systemroot%\TEMP
-
- rd "%USERPROFILE%\Local Settings\Temp" /S/Q
- md "%USERPROFILE%\Local Settings\Temp"
复制代码
这是一个清空TEMP的批处理,问题是如何写一个批处理,能够每个1个小时就运行一次。
作者: weichenxiehou 时间: 2011-3-17 09:27
如果楼主用的是xp、vista或win7等带有schtasks.exe命令(创建计划任务)的系统,要完成以上功能,在命令提示符下输入一条命令足矣,不过要以管理员身份运行cmd。
假设你这个批处理文件为deltemp.bat,放在f:\test目录下,可以这样输入:
- schtasks /tn deltemp /tr f:\test\deltemp.bat /sc hourly
复制代码
创建完成后系统会以当前本地时间为起点,每一个小时运行一次deltemp.bat
/tn deltemp--创建的任务名称为deltemp,如果有空格要用引号括起来
/tr f:\test\deltemp.bat--要运行的文件的路径和文件名,如果有空格要用引号括起来
/sc hourly--任务类型为小时重复
如果要删除该计划任务,可以输入:
- schtasks /delete /tn deltemp
复制代码
当然如果楼主想点击一次批处理后开始每一小时运行一次,可以把这条命令放到批处理文件内,不过就要一直运行着,未免麻烦,可以考虑用/st /et /sd /ed等开关,具体请参见schtasks /?,如有疑问,可以跟帖追问。
[ 本帖最后由 weichenxiehou 于 2011-3-17 09:28 编辑 ]
作者: wc726842270 时间: 2011-3-17 09:48 标题: 回复 2楼 的帖子
少个参数吧……。
作者: Hello123World 时间: 2011-3-17 12:51
- @echo off
- :hello
- rd %systemroot%\TEMP /S/Q
- md %systemroot%\TEMP
-
- rd "%USERPROFILE%\Local Settings\Temp" /S/Q
- md "%USERPROFILE%\Local Settings\Temp"
- ping 127.1 /n 3600 >nul
- goto hello
- rem 这样可以解决,但是批处理要一直开着
复制代码
作者: ny350101 时间: 2011-3-17 15:16
谢谢4楼的,实际上这个就是我想要的。同时也谢谢weichenxiehou。为什么运行后是这个样子?
作者: weichenxiehou 时间: 2011-3-18 21:37 标题: 回复 5楼 的帖子
应该不是添加任务计划这条命令的故障,都涉及到temp文件夹了,应该是你的批处理的问题。
作者: hanyeguxing 时间: 2011-3-18 22:01 标题: 回复 5楼 的帖子
1:因为rd没有正常执行,所以md执行产生冲突
在md和rd前分别都加2 >nul
2:除非特殊原因,否则推荐任务计划从控制面板添加
3:提供系统的版本,以及任务计划的运行帐户等信息
[ 本帖最后由 hanyeguxing 于 2011-3-18 22:04 编辑 ]
作者: ny350101 时间: 2011-3-19 22:58
7# hanyeguxing 7楼说的对,是原批处理出错了。
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |