sce*_*sce 0 c# windows file-io
我有一个具有以下文件夹结构的USB驱动器
<root of USB>
-- folder1
-- folder1a
-- file1ai
-- file1aii
-- file1aiii
-- folder1b
-- ...
-- ...
-- folder2
-- folder2a
-- folder2b
-- ...
-- folder3
-- folder3a
-- folder3b
-- ...
Run Code Online (Sandbox Code Playgroud)
以编程方式我需要重新排列USB驱动器上的文件夹,如下所示
<root of USB>
-- new folder
-- folder1a
-- folder1b
-- ...
-- folder2
-- folder2a
-- folder2b
-- ...
-- folder3
-- folder3a
-- folder3b
-- ...
Run Code Online (Sandbox Code Playgroud)
这里的代码示例工作得很好https://msdn.microsoft.com/en-us/library/bb762914%28v=vs.110%29.aspx但是当涉及大量文件夹时它超级慢,例如当folder1时有1000个子文件夹(folder1a,folder1b等),folder1的总大小约为4MB(磁盘上大约12MB) - 这些大小是不变的.所有文件夹的复制操作总共需要25分钟.有没有办法加快这个操作?我希望有一些超级聪明的方法来重命名文件夹/操纵分配表/无论如何使这种情况发生.
笔记:
所有文件夹的复制操作总共需要25分钟.
你为什么要复制文件?如果将同一设备上的文件移动到另一个文件夹,则唯一需要更改的是分配表(FAT/NTFS).我建议使用File.Move或Directory.Move.