Vb.net 排除包含新Microsoft.VisualBasic.Devices.Computer().FileSystem.CopyDirectory(sourceFolder,outputFolder)的文件夹;

Vb.net 排除包含新Microsoft.VisualBasic.Devices.Computer().FileSystem.CopyDirectory(sourceFolder,outputFolder)的文件夹;,vb.net,.net-4.0,Vb.net,.net 4.0,是否可以排除包含新文件夹的文件夹 Microsoft.VisualBasic.Devices.Computer(). FileSystem.CopyDirectory( sourceFolder, outputFolder ); 这将把整个内容从源目录复制到目标目录,但假设我不想复制某些文件夹,是否有办法排除这些文件夹。使用Reflector,CopyDirectory代码中似乎没有任何公共或私有的挂钩,允许在复制时跳过某些文件夹或文件 看起来您必须自己重做递归CreateDirect

是否可以排除包含新文件夹的文件夹

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

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

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

看起来您必须自己重做递归CreateDirectory和CopyFile循环,添加钩子来检查跳过文件或文件夹的条件

请注意.NET Framework 4.0新增的目录和DirectoryInfo EnumerateFiles和EnumerateDirectory重载可能允许您通过模式匹配或使用Linq来选择文件夹或文件

还要注意的是,CopyDirectory代码都在Microsoft.VisualBasic中,因此不希望包含该程序集/命名空间的C爱好者可能已经必须剪切用于复制目录树的代码,因此您可能会找到一些只需要转换到VB.NET的示例