# 请问按时间删除大量文件有什么好点的办法？

**URL:** <https://meta.appinn.net/t/topic/3116>\
**Category:** 问题求助\
**Created:** [2016 年12 月 21 日 08:58 UTC](https://meta.appinn.net/t/topic/3116 "2016-12-21T08:58:46Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![myself2](https://meta-edge.appinn.com/letter_avatar_proxy/v4/letter/m/958977/32.png) [@myself2](https://meta.appinn.net/u/myself2)\
**Post date:** [2016 年12 月 21 日 08:58 UTC](https://meta.appinn.net/t/topic/3116/1 "2016-12-21T08:58:46Z")

</div>

某目录有50W+的大量100K左右的小文件，请问怎么才能按照选择的时间段或保留最近30天等删除其余文件？  
一般文件少，我可以直接在文件管理器里排序删除，但是现在几十万的文件，好不容易排序完成，全选会导致卡机。  
如果用Windows自带搜索功能，按日期搜索，感觉效率太低，而且也无法全选。  
去找了一下好像没有专门的删除软件。  
想过用其他文件管理器，比如TC，也只有搜索，搜索出来的几十万个文件删除也怕卡死。  
觉得用批处理在DOS下执行，可能效率要高点，但是编程都忘得差不多了。  
所以，就想问问，有没什么软件能指定定时间段删除文件，同时对正在运行的系统影响最小，或是有没有其他更好的办法处理？  
谢谢~

---

<div class="post-metadata">

**Author:** ![Qingwa](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/qingwa/32/58632_2.png) [@Qingwa](https://meta.appinn.net/u/Qingwa)\
**Post date:** [2016 年12 月 21 日 09:09 UTC](https://meta.appinn.net/t/topic/3116/2 "2016-12-21T09:09:18Z")

</div>

可以考虑这样的思路：

Belvedere – 自动分拣文件

> **[Belvedere - 自动分拣文件 - 小众软件](https://www.appinn.com/belvedere/)**
>
> Belvedere 是款自动分拣文件工具，建立规则，自动移动文件。@Appinn

Limagito Lite – 智能移动文件

> **[Limagito Lite - 智能移动文件 - 小众软件](https://www.appinn.com/limagito-lite/)**
>
> Limagito Lite 是一款自动移动、复制文件的工具，可以当做备份工具，支持本地文件夹、网络文件夹、FTP、SFTP、SMTP 等协议。@Appinn

先将文件自动移动到不同的文件夹，比如以 月 为文件夹，这样删除起来就轻松多了。

注意上面两个链接比较古老，可能需要寻找一阵子了。

---

<div class="post-metadata">

**Author:** ![allor](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/allor/32/1268_2.png) [@allor](https://meta.appinn.net/u/allor)\
**Post date:** [2016 年12 月 21 日 11:56 UTC](https://meta.appinn.net/t/topic/3116/3 "2016-12-21T11:56:15Z")

</div>

系统自带的XCOPY，或者更强大的ROBOCOPY

> xcopy /?  
> robocopy /?

补充：  
复制需要保留的文件到其他位置然后命令行删除原目录  
如果删少留多的话，  
可以用ROBOCOPY将需删除的文件移动到别的位置再集中删除

如果删除的筛选条件太复杂的话，可以用everything  
搜索→结果列表→导出txt→加工成批处理

---

<div class="post-metadata">

**Author:** ![xiaokonglong](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/xiaokonglong/32/908_2.png) [@xiaokonglong](https://meta.appinn.net/u/xiaokonglong)\
**Post date:** [2016 年12 月 22 日 06:45 UTC](https://meta.appinn.net/t/topic/3116/4 "2016-12-22T06:45:17Z")

</div>

everything 搜索

然后筛选后删除即可.

---

<div class="post-metadata">

**Author:** ![xiaokonglong](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/xiaokonglong/32/908_2.png) [@xiaokonglong](https://meta.appinn.net/u/xiaokonglong)\
**Post date:** [2016 年12 月 22 日 06:51 UTC](https://meta.appinn.net/t/topic/3116/5 "2016-12-22T06:51:48Z")

</div>

如果要是定期运行.  
写个批处理命令就好. 然后放到计划任务里,就可以定期执行了.

```
@echo off 
setlocal ENABLEDELAYEDEXPANSION 
for /f "tokens=*" %%f in ('dir /b/s') do @if "%%~tf" equ "2016-12-30 09:00" del "%%f" /q

```

这是删除当前文件夹下\<2016-12-30 09:00\>创建的文件.

你可以根据自己的情况自行修改, 但是由于删除是危险操作,确实要删除的话, 请先做好备份再测试…

---

<div class="post-metadata">

**Author:** ![myself2](https://meta-edge.appinn.com/letter_avatar_proxy/v4/letter/m/958977/32.png) [@myself2](https://meta.appinn.net/u/myself2)\
**Post date:** [2016 年12 月 22 日 07:53 UTC](https://meta.appinn.net/t/topic/3116/6 "2016-12-22T07:53:30Z")

</div>

感谢大家的回复，我主贴没说太明白，目前的情况是，该目录每天会生成1K-2K个文件，现在大概有60W左右的文件，之前想过用一些备份软件，按天备份打包成压缩文件，删除原文件，这样一年也才300多个文件。后头去找了一些备份软件，没找到好用的。现在想想没必要，就保留最近30天或60天的文件就行。  
@11164 你给的方法很好， 我觉得用批处理，然后加计划任务自动执行比较方便。只是不知道批处理有没相关的函数保留最近的文件，编程这块丢了太久都不太会了，麻烦帮我看看，我也去查查相关的资料。  
感谢。

---

<div class="post-metadata">

**Author:** ![Izual\_Yang](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/izual_yang/32/94_2.png) [@Izual\_Yang](https://meta.appinn.net/u/Izual_Yang)\
**Post date:** [2016 年12 月 22 日 10:38 UTC](https://meta.appinn.net/t/topic/3116/7 "2016-12-22T10:38:10Z")

</div>

windows命令行有个forfiles命令，能够指定时间范围等条件来批量操作文件。一般滚动删除日志或备份都可以用它。

楼主如果想用备份软件的话，我用过Cobian Backup，这个是免费的，并且功能比较全，完全能达到你的要求，就是很久没更新了。我在网上还看到别人推荐duplicati，也是可以滚动式备份的，并且支持比较多的云端存储。

---

<div class="post-metadata">

**Author:** ![xiaokonglong](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/xiaokonglong/32/908_2.png) [@xiaokonglong](https://meta.appinn.net/u/xiaokonglong)\
**Post date:** [2016 年12 月 23 日 00:58 UTC](https://meta.appinn.net/t/topic/3116/8 "2016-12-23T00:58:02Z")

</div>

可以用rar的命令行或者7zip的.

事实上, 这些软件的命令行模式非常强大,完全可以满足你的需求.

而且winrar有中文帮助, 有非常详细的命令行参数介绍.

结合上述的批处理即可满足你的需求. 这不是什么编程问题. 自己研究下即可.

---

<div class="post-metadata">

**Author:** ![myself2](https://meta-edge.appinn.com/letter_avatar_proxy/v4/letter/m/958977/32.png) [@myself2](https://meta.appinn.net/u/myself2)\
**Post date:** [2016 年12 月 23 日 07:56 UTC](https://meta.appinn.net/t/topic/3116/9 "2016-12-23T07:56:17Z")

</div>

以前也看过rar的命令行，大致浏览了一下，好像没找到相关的参数。  
现在用 forfiles 命令解决了，再次感谢各位。
