中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-09 10:07
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 求助关于日期抓取的问题 查看 640 回复 5
楼 主 求助关于日期抓取的问题 发表于 2008-08-18 18:10 ·  中国 河北 保定 电信
新手上路
积分 8
发帖 3
注册 2008-08-18 17:15
17年会员
UID 123512
性别 男
状态 离线
编写一个BAT,实现如下功能:将现在系统日期抓取,并将现在的这个日期的10天前的月和日分别存为%%m、%%d。

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

十分感谢~
2 发表于 2008-08-18 19:29 ·  美国 惠普HP
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
@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%
3 发表于 2008-08-18 20:35 ·  中国 河北 保定 电信
新手上路
积分 8
发帖 3
注册 2008-08-18 17:15
17年会员
UID 123512
性别 男
状态 离线
谢谢楼上帮忙~~

如果现在目录里有
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以前的文件,需要怎么编写批处理呢?~
4 发表于 2008-08-18 20:55 ·  美国 惠普HP
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
@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"
)
)
5 发表于 2008-08-18 21:02 ·  中国 河北 保定 电信
新手上路
积分 8
发帖 3
注册 2008-08-18 17:15
17年会员
UID 123512
性别 男
状态 离线
谢谢楼上的朋友再次热心相助~

我想问一下,最后删除的操作是针对批处理文件所在的目录进行的吗?就是说我想删那个目录的文件就把该bat放在该目录下允许?
6 发表于 2008-08-18 21:16 ·  美国 惠普HP
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
是的。
如果你想批处理放到任何位置都能正确执行的话,可以在第二个for里面使用绝对路径。
论坛跳转: