求个删文件的软件。
能按最后修改日期来删除的,比如删除300天以前的所有文件。能导出报告。
觉得这个做起来应该很简单吧,就一个判断··
但实在搜不到类似的软件。
FOR和IF的批处理太慢了。两三千万个文件删了一下午也没删完。。。
本帖最后由 四点 于 2013-9-26 17:32 编辑
find dir -ctime +300 -exec rm -f {} \;
win的话直接按最后修改时间排序呢? 我总感觉win的“文件建立时间”不准…… 四点 发表于 2013-9-26 17:27
find dir -ctime +300 -exec rm -f {} \;
win的话直接按最后修改时间排序呢?
少文件可以排序。
多文件和多文件夹不行。 Realplayer 发表于 2013-9-26 17:42
我总感觉win的“文件建立时间”不准……
很容易改是吧。。。 本帖最后由 dodolee 于 2013-9-26 21:56 编辑
windows 可以用 cygwin
本帖最后由 梓 于 2013-9-26 21:59 编辑
dodolee 发表于 2013-9-26 21:49
windows 可以用 cygwin
……
删几个文件而已。。有必要装个开发环境么。。
这东西默认安装没有几 MB 吧,考虑到方便的脚本功能,最好常备啊。 跟据上次蛋痛的经验,有找的时间,动手写一个花的时间好像也差不多...批量按规则改文件名,删文件啥的... 用Powershell也没差的啦ls -r | where LastWriteTime -LT (::Now).AddDays(-300) | foreach { rm $_.FullName;$_.FullName } eggplant 发表于 2013-9-26 22:06
跟据上次蛋痛的经验,有找的时间,动手写一个花的时间好像也差不多...批量按规则改文件名,删文件啥的... ...
http://ww2.sinaimg.cn/large/7786269egw1e9096znjmrj20bx01bglk.jpg
正因为批处理太慢我才找软件的。。
批处理搞几千个文件可以。。
几千万个文件慢死。。
当年就是因为没有 find 这类标准 unix 工具,果断放弃了 powershell,虽说管道里传对象听起来似乎很先进…… 本帖最后由 neverer 于 2013-9-26 22:19 编辑
本地的?直接按时间排序,选中,删除可以吗?
:L是几千几万还是几千万……几千万这数量也太可怕了
iyomumx 发表于 2013-9-26 22:08
用Powershell也没差的啦
http://ww3.sinaimg.cn/large/7786269egw1e909gy2k4vj20i30550tn.jpg
不太懂ps的语法,报错如图。 neverer 发表于 2013-9-26 22:15
本地的?直接按时间排序,选中,删除可以吗?
是几千几万还是几千万……几千万这数量也太可怕了
大概两千四百万左右。。 梓 发表于 2013-9-26 22:19
不太懂ps的语法,报错如图。
ls -r | where {$_.LastWriteTime -LT (::Now).AddDays(-300)} | % {rm $_}你试试这个 ls -r | where {$_.LastWriteTime -LT (::Now).AddDays(-300)} | rm这个应该更快点 infinte 发表于 2013-9-26 22:25
这个应该更快点
17L这个测试可以实现。
我去实际环境中跑一下看一下速度。 infinte 发表于 2013-9-26 22:25
这个应该更快点
另外这个可以把日志存下来么。就是具体删了哪些文件 梓 发表于 2013-9-26 22:34
另外这个可以把日志存下来么。就是具体删了哪些文件
你去掉最后的 “| rm” 就能打印出要删的文件。当然,去掉 rm 就不执行删除动作
页:
[1]