飓风羊刀提莫:用DOS命令按日期删除文件

来源:百度文库 编辑:高校问答 时间:2024/05/09 07:56:15
建立一个批处理文件,运行该文件后,自动来判断今天的日期,比如日期大于或等于2006年8月9日,那么就自动删除d:\log\*.*

用dos批处理如何实现,最好告诉我命令的详细说明

不用windows的计划任务。
二楼的朋友,能告诉我判断日期大于2006-7-30号该如何处理呀?
我的意思是,如果2006-7-30日没有开机那么这个条件以后就再也不会成立了。如果能判断日期大于2006-7-30日,那么这个条件还会成立的。

@date /T|find "2006-07-30" && echo "条件符合!执行任务"

就这么一句话,简单吧!
@符号的作用是让这条命令不回显,不明白也无所谓!

首先用date /T 命令得到当前日期(如果需要以时间为条件的话,可以用time命令),然后将他的结果传递给find命令(传递时用 | 这个符号),find命令则在date /T的结果中搜寻指定的关键字,这里你可以设置为你需要的日期,比如"2006-10-01" 注意要把关键字(也就是你的条件)放在双引号内
或者"2006-07-30"等等,随便日期(但需要注意千万不要省略写成2006-7-30)

&&的意思是前边的命令成立的情况下执行后边的命令,我这里随便弄个命令 echo 毫无任何意义
你把它改成 你需要执行的命令即可!

@date /T|find "2006-07-30" && DEL C:\123\*.* /s/f/q

再免费教你点,考虑到你要自动执行任务,但del在删除文件的时候会提示你确认,所以你可以在在删除命令后边加上 /q命令,它就不提示了,再加个/s命令则能把123目录下的所有子目录以及子目录下的文件都删掉,这也许是你想要的结果,再加/f的作用是强制删除

这里你可以找个折中的办法就是如果要判断日期大于2006-07-30则可以判断当前日期是否为2006-08-01即可
命令是死的,人是活的

编程实现,然后把程序的运行语句加入到autoexec.bat里面,如果你不会编的话,我可以帮你!