中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-03 03:07
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 求助怎么删除30天前的文件夹(md f:\"%date%") 查看 1,203 回复 1
楼 主 求助怎么删除30天前的文件夹(md f:\"%date%") 发表于 2007-01-16 03:57 ·  中国 江苏 南通 电信
新手上路
积分 4
发帖 1
注册 2007-01-16 03:12
19年会员
UID 76632
性别 男
状态 离线
文件名
每天.cmd

md f:\"%date%"

每天运行的.用的任务计划.

在f盘建立了 文件夹 2007-01-15 星期一

----------------------------------------------------------
现在要删除30天前的文件夹怎么删除?

@echo off
set n=30
>%tmp%\tmp.vbs echo wscript.echo dateadd("d",-%n%,date)
for /f "tokens=1,2,3* delims=-" %%i in ('cscript /nologo %tmp%\tmp.vbs') do (
set y=%%i
set m=%%j
set d=%%k
)
if %m% LSS 10 set m=0%m%
if %d% LSS 10 set d=0%d%
set nowdate=%y%-%m%-%d%

注:这里的日期是 2006 -12 -16 怎么去掉空格?应该是2006-12-16 星期? 还有星期几怎么得到
---------------------------------------------------------------下面好像错的--------------
set xqj=%nowdate:~-3%
if %xqj%==1 set xqj=星期一
if %xqj%==2 set xqj=星期二
if %xqj%==3 set xqj=星期三
if %xqj%==4 set xqj=星期四
if %xqj%==5 set xqj=星期五
if %xqj%==6 set xqj=星期六
if %xqj%==7 set xqj=星期日
星期几好像可以了
如果set n=28 就出问题了.....................
---------------------------------------------------------------------------------------------------
set nowdate=%nowdate%%xqj%
del/Q F:\"%nowdate%"
RD F:\"%nowdate%"

[ Last edited by smice2005 on 2007-1-15 at 04:02 PM ]
2 发表于 2007-01-16 09:01 ·  中国 北京 中国科学院研究生院
银牌会员
★★★
积分 1,187
发帖 555
注册 2006-12-21 07:35
19年会员
UID 74129
性别 男
状态 离线

看看这里,自己学着修改。。
http://www.cn-dos.net/forum/viewthread.php?tid=26674&fpage=3
论坛跳转: