1

是否可以使用新的排除文件夹

Microsoft.VisualBasic.Devices.Computer().
    FileSystem.CopyDirectory( sourceFolder, outputFolder );

这会将整个内容从源复制到目标,但是假设我不想复制某些文件夹,有没有办法排除这些。

4

1 回答 1

0

使用 Reflector,代码中似乎没有任何公共(或私有)挂钩,CopyDirectory以允许在复制时跳过某些文件夹或文件。

看起来您必须自己重做递归CreateDirectoryCopyFile循环,添加挂钩以检查跳过文件或文件夹的条件。

并注意DirectoryandDirectoryInfo EnumerateFilesEnumerateDirectories重载(.NET Framework 4.0 的新功能)可能允许您通过模式匹配选择文件夹(或文件),否则使用 Linq。

另请注意,CopyDirectory代码都在.NET 中Microsoft.VisualBasic,因此不想包含该程序集/命名空间的 C# 爱好者已经不得不削减用于复制目录树的代码,因此您可能会发现一些只需要转换为 VB.NET 的示例.

于 2012-10-02T07:28:19.510 回答