【发布时间】:2015-09-11 07:24:30
【问题描述】:
我有一个具有以下文件夹结构的 USB 驱动器
<root of USB>
-- folder1
-- folder1a
-- file1ai
-- file1aii
-- file1aiii
-- folder1b
-- ...
-- ...
-- folder2
-- folder2a
-- folder2b
-- ...
-- folder3
-- folder3a
-- folder3b
-- ...
我需要以编程方式重新排列 USB 驱动器上的文件夹,如下所示
<root of USB>
-- new folder
-- folder1a
-- folder1b
-- ...
-- folder2
-- folder2a
-- folder2b
-- ...
-- folder3
-- folder3a
-- folder3b
-- ...
这里的代码示例运行良好https://msdn.microsoft.com/en-us/library/bb762914%28v=vs.110%29.aspx 但是当涉及大量文件夹时它非常慢,例如当 folder1 有 1000 个子文件夹(folder1a、folder1b 等)时,folder1 的总大小约为 4MB(磁盘上约为 12MB) - 这些大小是恒定的。合并所有文件夹的复制操作需要 25 分钟以上。有什么办法可以加快这个操作?我希望有一些超级聪明的方法来重命名文件夹/操作分配表/任何使这种情况发生的方法。
注意事项:
- 输入和最终重新排列的输出需要在 USB 驱动器上 - 这是一个运动鞋网设置。
- USB 驱动器为 4GB 大小的 FAT32 或 NTFS。我们尝试了 USB 3.0,但速度没有任何提高。
【问题讨论】:
-
当您通过 WindowsExplorer 或类似工具手动执行此操作时,这应该如何更快?我怀疑这是否有效,它仅取决于 USB 的速度。要使用 USB3.0,您必须有一个可插拔的 USB 设备(例如记忆棒)和一个读卡器(您的计算机也需要 USB3.0)。将 3.0 设备插入 2.0 接口不会有任何改进。
-
将整个复制到硬盘中,重新排序并复制回来?
-
@Thomas 不幸的是,速度增益在复制到 HDD 时丢失了。
-
USB 密钥上的数据总大小是多少?这是什么型号?