中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: 求助关于日期抓取的问题 上一主题 | 下一主题
qdrince
新手上路





积分 8
发帖 3
注册 2008-8-18
状态 离线
『楼 主』:  求助关于日期抓取的问题

编写一个BAT,实现如下功能:将现在系统日期抓取,并将现在的这个日期的10天前的月和日分别存为%%m、%%d。

目录下有很多文件,都是以日期命名,例如0818Z001。我的最终目的是删除0808Z001以前的文件,请问各位大侠,这个如何实现~~

十分感谢~

2008-8-18 18:10
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 2 楼』:  


@echo off
>"%tmp%\MyDel.vbs" echo dt=date()-10
>>"%tmp%\MyDel.vbs" echo s=right(year(dt),4) ^& right("0" ^& month(dt),2) ^& right("0" ^& day(dt),2)
>>"%tmp%\MyDel.vbs" echo wscript.echo s
for /f %%a in ('cscript /nologo "%tmp%\MyDel.vbs"') do set TenDay=%%a
echo 10天前的月:%TenDay:~4,2%
echo 10天前的日:%TenDay:~6,2%




2008-8-18 19:29
查看资料  发短消息 网志   编辑帖子  回复  引用回复
qdrince
新手上路





积分 8
发帖 3
注册 2008-8-18
状态 离线
『第 3 楼』:  

谢谢楼上帮忙~~

如果现在目录里有
0818z001.txt,0818z002.txt,0818z003.txt,0818z004.txt,0818z005.txt…………
0817z001.txt,0817z002.txt,0817z003.txt,0817z004.txt,0817z005.txt…………
0816z001.txt,0816z002.txt,0816z003.txt,0816z004.txt,0816z005.txt…………
………………
………………
0808z001.txt,0808z002.txt,0808z003.txt,0808z004.txt,0808z005.txt…………
………………

我要删除10天前的,也就是0808以前的文件,需要怎么编写批处理呢?~

2008-8-18 20:35
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 4 楼』:  


@echo off
>"%tmp%\MyDel.vbs" echo dt=date()-10
>>"%tmp%\MyDel.vbs" echo s=right(year(dt),4) ^& right("0" ^& month(dt),2) ^& right("0" ^& day(dt),2)
>>"%tmp%\MyDel.vbs" echo wscript.echo s
for /f %%a in ('cscript /nologo "%tmp%\MyDel.vbs"') do set TenDay=%%a
set Flag=%TenDay:~4,2%%TenDay:~6,2%
for %%a in ("*.txt") do (
  if "1%%a" lss "1%Flag%" (
    del /q "%%a"
  )
)




2008-8-18 20:55
查看资料  发短消息 网志   编辑帖子  回复  引用回复
qdrince
新手上路





积分 8
发帖 3
注册 2008-8-18
状态 离线
『第 5 楼』:  

谢谢楼上的朋友再次热心相助~

我想问一下,最后删除的操作是针对批处理文件所在的目录进行的吗?就是说我想删那个目录的文件就把该bat放在该目录下允许?

2008-8-18 21:02
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 6 楼』:  

是的。
如果你想批处理放到任何位置都能正确执行的话,可以在第二个for里面使用绝对路径。



2008-8-18 21:16
查看资料  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: