从 USB HDD 提取多个文件

从 USB HDD 提取多个文件

我必须从包含超过 200 万个文件(所有可能的格式并嵌套在多层子文件夹中)的 USB HDD 中提取某些文件(仅少数扩展名)。

有人可以推荐我一个好的实用程序来完成这个极其耗时的任务吗?

理想情况:我设置了参数(我真正需要的实际扩展名),然后运行该工具,第二天早上,我发现我的 USB 硬盘上只有几个文件夹(名称类似于“doc & docx”、“xls & xlsx”、“pdf”、“zip”等)包含我的文件……没有其他内容,没有空文件夹,也没有其他文件,除了这些具有我指示的扩展名的文件。最终的文件名冲突将通过附加的渐进数字(或自定义文本)解决……错误日志记录可能是一个优点(因为我在第二个硬盘上有完全相同的副本,我最终可以从中“拔出”一些意外删除的文件/文件夹)。我将在稍后处理重复项,但如果这个“神奇工具”可以可靠地做到这一点,我显然不会介意 ;)

感谢任何有创意的建议

答案1

感谢您的建议,但我决定使用批处理脚本来解决这个问题...我把它组合起来,它正好满足了我的需要。批处理文件的命令竟然如此强大/有用,这再次让我感到惊讶!

一个简单的记事本创建的脚本现在可以完成这项工作,无需下载/安装任何东西,也不需要涉及 Windows 资源管理器,后者显然无法处理包含太多文件的文件夹。

有时最简单的解决方案确实是最好的!

_________________________________________ 编辑:

正如我在预编辑部分所说的那样,该脚本非常简单,而且由于这是一个高度定制的操作(这并不是脚本的问题,而是我使用的程序让我在很短的时间内得到了我想要的东西),我怀疑其他用户会发现它“按原样”可操作,但希望其他人会发现我所做的很有用,可以快速移动(仅)几千个需要的文件,这些文件来自多年来积累在外部硬盘上的大量文件,我写了一份备忘录来指出大方向,那么无论谁偶然发现这个问答,都必须根据他/她的需要调整我的方法。

因为我需要从 HDD 中提取的数据非常敏感(并且对我来说很有价值),所以我有意遵循每个步骤,并为每组扩展创建单独的脚本(我还故意没有使用 @echo off 来查看正在移动的内容)...显然,相同的过程也可以(半)无人值守运行。

干得好:

1)确保要从中收集文件的外部 HDD 分区已分配字母“Y”(对于这个特定的脚本,使用了该字母,但显然可以使用任何其他可用的字母)。

2)在“Y”中将所有文件夹(要从中收集文件)放入名为“-All”的单个文件夹中(对于此特定脚本...可以使用任何其他名称)。

3) 使用出色的免费软件 Suction(谷歌搜索“suction dr nathan”即可找到)并 Suction “- All”文件夹,将所有文件移至第一级,同时重命名所有同名文件。(注意:我故意没有使用可用的“删除重复项”选项,以便更快地完成操作)

4)执行“在根目录(Y 驱动器)中创建文件夹.bat”以创建所有必要的文件夹来托管(按扩展名排序的)文件......类似于(根据需要自定义):

mkdir "Y:\ALL Archive files"
mkdir "Y:\All Excel files"
mkdir "Y:\All PowerPoint files"
mkdir "Y:\All Word files"

5)根据需要逐个执行其他批处理脚本*以将必要的文件移动到指定的目的地...类似这样的操作(根据需要定制):

move /-y "Y:\- All\*.zip" "Y:\ALL Archive files"
move /-y "Y:\- All\*.rar" "Y:\ALL Archive files"

move /-y "Y:\- All\*.xls" "Y:\All Excel files" 
move /-y "Y:\- All\*.xlsx" "Y:\All Excel files" 

move /-y "Y:\- All\*.pps" "Y:\All PowerPoint files" 
move /-y "Y:\- All\*.ppsx" "Y:\All PowerPoint files" 
move /-y "Y:\- All\*.ppt" "Y:\All PowerPoint files" 
move /-y "Y:\- All\*.pptx" "Y:\All PowerPoint files" 

move /-y "Y:\- All\*.doc" "Y:\All Word files"
move /-y "Y:\- All\*.docx" "Y:\All Word files"
move /-y "Y:\- All\*.rtf" "Y:\All Word files"

6)使用你最喜欢的搜索工具(我使用了 Everything)检查“- All”文件夹中是否遗留了具有指定扩展名的任何文件(不知道为什么确实遗留了 2 或 3 个文件……令人费解!无论如何,我手动移动了它们)

7)运行你最喜欢的重复查找器来删除可能的重复项

8)删除可能“卡在中间”的任何不必要的文件(我发现了一堆我不需要保留的文件,所以我在这个阶段将它们丢弃)

9)重命名/合并“Y”根目录中的托管文件夹(如果适用)

10)一旦安全,删除“- 全部”文件夹(我再三检查剩下的内容确实需要删除)

*(如果需要,为其他扩展编译新脚本以及“Y”根目录中必要的托管文件夹)

相关内容