编写一个BAT,实现如下功能:将现在系统日期抓取,并将现在的这个日期的10天前的月和日分别存为%%m、%%d。
目录下有很多文件,都是以日期命名,例如0818Z001。我的最终目的是删除0808Z001以前的文件,请问各位大侠,这个如何实现~~
十分感谢~
目录下有很多文件,都是以日期命名,例如0818Z001。我的最终目的是删除0808Z001以前的文件,请问各位大侠,这个如何实现~~
十分感谢~

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

@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%
@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"
)
)