中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-02 19:10
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 从文本提取指定日期文件名并删除 查看 1,743 回复 6
楼 主 从文本提取指定日期文件名并删除 发表于 2006-12-15 00:53 ·  中国 重庆 沙坪坝区 电信
初级用户
★★
积分 105
发帖 77
注册 2006-11-09 02:14
19年会员
UID 70077
性别 男
来自 重庆
状态 离线
现有一文档a.txt内容及格式如下:
这实际上是一个列表,前边是日期,后边是文件名
....
2005-12-02 43324
2005-12-03 232323
2005-12-04 rjjjdj
2005-12-05 fhsh
2005-12-06 sdhsh
....
2005-12-12
2005-12-13 fhhshs
2005-12-14
2005-12-15 fdhfg
....
目的:用批处理来提取a.txt中的文件名,并删除指定的某断时间内建立的文件,我想删除2006年12月3日至15日建立的文件.
请问有好的方法吗?
2 发表于 2006-12-15 01:54 ·  中国 广东 电信
荣誉版主
★★★★
batch fan
积分 5,226
发帖 1,737
注册 2006-03-10 00:38
20年会员
UID 51697
来自 成都
状态 离线
  演示代码如下,觉得满意了再把 echo 语句换成 del 语句:

@echo off
for /f "tokens=1*" %%i in (a.txt) do (
if %%i geq 2005-12-03 if %%i leq 2005-12-15 if not "%%j"=="" echo "%%j"
)
pause
本帖最近评分记录 (共 2 条) 点击查看详情
评分人分数时间
redtek +5 2006-12-16 11:00
gene771771 +1 2006-12-17 00:33
尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。
3 发表于 2006-12-15 02:34 ·  中国 北京 联通
金牌会员
★★★★
积分 2,902
发帖 1,147
注册 2006-09-21 12:00
19年会员
UID 63324
性别 男
状态 离线
再来一个另类删2006年12月3日至15日之间的文件的方法:)

(注:下面指令删除2006-12-03当天一直到2006-12-15日之间的文件(含15号当天的文件)



rar a /R /M0 /DF /TA20061203 /TB20061216 压缩后的文件名 你要删除指定日期的那批文件所在目录
    Redtek,一个永远在网上流浪的人……

_.,-*~'`^`'~*-,.__.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._
4 发表于 2006-12-15 02:34 ·  中国 北京 联通
金牌会员
★★★★
积分 2,902
发帖 1,147
注册 2006-09-21 12:00
19年会员
UID 63324
性别 男
状态 离线
使用Winrar压缩工具特性,执行后相当于被删的文件被移到了压缩包里,如不想再要了,就删压缩包.RAR就行了,如果误删,还可解压恢复。


关于上面指令已测试通过,下面给出Winrar的参数解释, RAR.EXE /? 有更详帮助:)

(注:我将WinRAR压缩工具目录内的 rar.exe 直接copy到了 windows 目录中,调用的时候方便,懒得再修改环境PATH信息:)


ta<日期> 处理在以 YYYYMMDDHHMMSS 格式描述的 <日期> 之后修改的文件

tb<日期> 处理在以 YYYYMMDDHHMMSS 格式描述的 <日期> 之前修改的文件
       (注意:指这日期以前文件,不包括指定的日期本天,所以日期要加1)


m<0..5> 设置压缩等级 (0-存储...3-默认...5-最大)
       (注:使用 /M0 参数,因为压缩的过程就是删的过程,/M0是不压只存,所以速度快)

df 生成压缩档案后删除文件
      (注:就是压缩以后就把源文件直接删掉了,起到间接删目录中不需要的文件作用)


r 包含所有子目录
     (注: /R 参数是压缩指定目录下的所有目录中的文件)

……

本帖最近评分记录 (共 2 条) 点击查看详情
评分人分数时间
lxmxn +5 2006-12-15 04:31
gene771771 +1 2006-12-17 00:35
    Redtek,一个永远在网上流浪的人……

_.,-*~'`^`'~*-,.__.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._
5 发表于 2006-12-15 03:03 ·  中国 湖北 武汉 电信
初级用户
积分 24
发帖 11
注册 2006-09-30 09:07
19年会员
UID 64133
状态 离线
学习了,原来还可以这样啊
谢谢分享
6 发表于 2006-12-15 04:32 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
20年会员
UID 59080
状态 离线

  看来 Redtek 兄对各种命令行的工具都颇有研究啊,又学到不少。加分~
7 发表于 2006-12-16 10:03 ·  中国 甘肃 平凉 电信
金牌会员
★★★★
积分 4,103
发帖 1,744
注册 2006-01-20 13:00
20年会员
UID 49241
性别 男
来自 甘肃.临泽
状态 离线
恩,还可以用winrar来实现哦~学习了
论坛跳转: