中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 一个关于数据删除的问题请教.
« [1] [2] [3] [4] »
作者:
标题: 一个关于数据删除的问题请教. 上一主题 | 下一主题
fzp1978321
初级用户





积分 110
发帖 50
注册 2008-1-18
状态 离线
『楼 主』:  一个关于数据删除的问题请教.

在D:\下,如何在下一周的周一,删除上周周一所生成的文件(包含该路径下各级文件夹下上周一所生成的文件,前提是各级文件夹不被删除)?

我知道用
DEL /S/Q/F 可以清空该路径下的所有文件,但是我又如何实现清除指定时间的文件呢?
我是做了个计划任务,每周的某天删除上周对应某天的数据(如下周一时删除上周一的文件,下周二删除上周二的文件),其他数据不动.
在这个问题上面卡住了,希望得到解答.

2008-2-1 21:05
查看资料  发送邮件  发短消息 网志  OICQ (195690504)  编辑帖子  回复  引用回复
fzp1978321
初级用户





积分 110
发帖 50
注册 2008-1-18
状态 离线
『第 2 楼』:  

没人能解答么?

2008-2-1 21:38
查看资料  发送邮件  发短消息 网志  OICQ (195690504)  编辑帖子  回复  引用回复
slore
铂金会员





积分 5212
发帖 2478
注册 2007-2-8
状态 离线
『第 3 楼』:  

时间是文件名有规律?还是创建时间?

2008-2-1 22:01
查看资料  发短消息 网志   编辑帖子  回复  引用回复
fzp1978321
初级用户





积分 110
发帖 50
注册 2008-1-18
状态 离线
『第 4 楼』:  

文件名不规律,因为每天生成文件的个数和多少并不固定,所以是根据创建时间来进行删除.
哎,简直拿它没招了,呵呵.
另,系统是WIN2000

[ Last edited by fzp1978321 on 2008-2-1 at 10:21 PM ]

2008-2-1 22:08
查看资料  发送邮件  发短消息 网志  OICQ (195690504)  编辑帖子  回复  引用回复
fzp1978321
初级用户





积分 110
发帖 50
注册 2008-1-18
状态 离线
『第 5 楼』:  

这个问题真的就那么难?!盼高手解答.

2008-2-1 23:03
查看资料  发送邮件  发短消息 网志  OICQ (195690504)  编辑帖子  回复  引用回复
slore
铂金会员





积分 5212
发帖 2478
注册 2007-2-8
状态 离线
『第 6 楼』:  

for中的%~tI得到的是修改时间。。。
DIR可以得到 创建时间,但是。。。路径不能写完整路径。。

如果dir一边,在把文件一个个的dir一边……可以。。。
但是你整个D盘。。。处理起来。。。。

记得论坛原来有人做个类似找不到了。。。。

难不难,感觉写的代码复杂。以前没处理过时间的……也觉得处理时间麻烦。

2008-2-1 23:09
查看资料  发短消息 网志   编辑帖子  回复  引用回复
fzp1978321
初级用户





积分 110
发帖 50
注册 2008-1-18
状态 离线
『第 7 楼』:  

在这我说明下,我说的D:其实是个映射的文件夹,里边有许多文件和目录,目录内又有些子目录.
其实我备份已经做出来了,每天生成的数据按照原来的路径格式压缩后不超过30M.
其实我觉得把每天生成的文件都备份了其实就行了,然后一周删除一次源路径下的源文件;但是又被要求必须是像在下一周的周一才能删除上一个周一的数据这样的方式来删除文件.我觉得这样很多余,并且很很无奈.
所以才在这上面寻求帮助.

2008-2-1 23:40
查看资料  发送邮件  发短消息 网志  OICQ (195690504)  编辑帖子  回复  引用回复
slore
铂金会员





积分 5212
发帖 2478
注册 2007-2-8
状态 离线
『第 8 楼』:  

http://www.cn-dos.net/forum/viewthread.php?tid=16676

2008-2-2 02:22
查看资料  发短消息 网志   编辑帖子  回复  引用回复
slore
铂金会员





积分 5212
发帖 2478
注册 2007-2-8
状态 离线
『第 9 楼』:  

如果是修改日期的就用这个就行了。貌似%%~tI得到的是修改日期。

如果你的文件的创建日期和修改一样,按那个上面的代码就行了。


如果不一样再说吧~  肯定是可以,就是觉得麻烦。:(

2008-2-2 02:23
查看资料  发短消息 网志   编辑帖子  回复  引用回复
fzp1978321
初级用户





积分 110
发帖 50
注册 2008-1-18
状态 离线
『第 10 楼』:  

谢谢SLORE的帮助.
那个帖子我看了,好象是在WINXP下的,在WIN2000XIA能用么?
还有,里边我发现有两个程序,该用哪一个?

2008-2-3 01:15
查看资料  发送邮件  发短消息 网志  OICQ (195690504)  编辑帖子  回复  引用回复
terse
银牌会员





积分 2404
发帖 946
注册 2005-9-8
状态 离线
『第 11 楼』:  

删除任意天数文件  环境 XP 试一下可以否  
@echo off
SET/p TT=天数:
SET/p PH=路径:
set p1=%date:~0,4%
set p2=%date:~5,2%
set p3=%date:~8,2%
setlocal enabledelayedexpansion
for /l %%a in (1,1,3) do (
for /f "delims=0 tokens=*" %%i in ("!p%%a!") do set p%%a=%%i
)
if %p3% gtr %TT% set/a p3=%p3%-%tt%&& goto ppp
:nxt
set/a p2-=1
if %p2% equ 0 set/a p1-=1&&set p2=12
SET/a PN1=%p1%%%4
set PN2=28
if %PN1% EQU 0 set pN2=29
for /f "tokens=%p2%" %%i in ("31 %pN2% 31 30 31 30 31 31 30 31 30 31") do set/a p3=%p3%+%%i
if %p3% leq %tt% goto nxt
set/a p3=%p3%-%tt%
:ppp
set p2=0%p2%
set p2=%p2:~-2,2%
set p3=0%p3%
set p3=%p3:~-2,2%
for %%i in ("%PH%\*") do set t=%%~ti &&call :loop "%%~fi"
pause
goto :eof
:loop
if not "%~1" == "%~f0" (
IF %p1%%p2%%p3% equ %t:~0,4%%t:~5,2%%t:~8,2% del "%~1" /S/Q/F
)
::抱歉 漏一标签

[ Last edited by terse on 2008-2-4 at 03:10 AM ]



简单!简单!再简单!
2008-2-3 14:16
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
fzp1978321
初级用户





积分 110
发帖 50
注册 2008-1-18
状态 离线
『第 12 楼』:  

我在XP上运行了下,是删除C:\1002里7天前的文件,在CMD.EXE如下显示:

7:
C:\1002
'NEX'不是内部或外部命令,也不是可运行的程序
或批处理文件
找不到操作数
20080133

(以上每一行都需要按任意键才逐行显示的)

在CMD.EXE显示完后,我再安任意键,会弹出个名为"CMD.TXT"的文本文件,内容如下:

bugreport.qq.comToolVer=1.0&AppName=QQ&AppBuild=17290440&ErrAdd=03d540a8&OSId=00000002&OSMajVer=00000005&OSMinVer=00000001&OSBuildNo=00000A28&UIN=195690504&CrashInfo=1h%2FTuhJl4flo4g4Cnqbt%2BTdEOTQ1NjQ3&cmd=1&UserDescription=

这是什么意思啊,看不明白.

2008-2-3 19:48
查看资料  发送邮件  发短消息 网志  OICQ (195690504)  编辑帖子  回复  引用回复
fzp1978321
初级用户





积分 110
发帖 50
注册 2008-1-18
状态 离线
『第 13 楼』:  

这个问题有点急,希望能有人能完整详细的帮我下,谢谢!

2008-2-3 21:48
查看资料  发送邮件  发短消息 网志  OICQ (195690504)  编辑帖子  回复  引用回复
fastslz
铂金会员

DOS一根葱


积分 5493
发帖 2315
注册 2006-5-1
来自 上海
状态 离线
『第 14 楼』:  

回头我到win2000下写个代码给你



第一高手    第二高手

2008-2-3 22:04
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
fzp1978321
初级用户





积分 110
发帖 50
注册 2008-1-18
状态 离线
『第 15 楼』:  

谢谢

2008-2-3 22:06
查看资料  发送邮件  发短消息 网志  OICQ (195690504)  编辑帖子  回复  引用回复
« [1] [2] [3] [4] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


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



论坛跳转: