Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 跳过GetFiles()中的系统文件/目录_C#_Visual Studio 2010 - Fatal编程技术网

C# 跳过GetFiles()中的系统文件/目录

C# 跳过GetFiles()中的系统文件/目录,c#,visual-studio-2010,C#,Visual Studio 2010,我使用这种方法将所有图像从USB复制到硬盘,比如说C:\,但它会引发无法访问系统文件/目录的异常 如果跳过SearchOption.AllDirectories参数,效果很好,但我的主要目的是从USB及其子目录复制所有图像 如何跳过系统文件/目录?类似的内容可能会有所帮助:(未测试) 它的可能副本将不起作用,因为异常是在目录.GetFiles上引发的,而不是在文件.Copy上引发的。这里是工作啊。有点跛脚,因为像这样简单的事情而被困在trys里。谢谢你的信息! public void Copy

我使用这种方法将所有图像从USB复制到硬盘,比如说
C:\
,但它会引发无法访问
系统文件/目录的异常

如果跳过
SearchOption.AllDirectories
参数,效果很好,但我的主要目的是从USB及其子目录复制所有图像


如何跳过系统文件/目录?

类似的内容可能会有所帮助:(未测试)


它的可能副本将不起作用,因为异常是在
目录.GetFiles
上引发的,而不是在
文件.Copy
上引发的。这里是工作啊。有点跛脚,因为像这样简单的事情而被困在trys里。谢谢你的信息!
 public void Copy(string sourceDir, string targetDir)
 {
     try
     {
         var files = System.IO.Directory.GetFiles(sourceDir, "*.jpg",  
                                                  SearchOption.AllDirectories);
         foreach (string srcPath in files)
         {
             File.Copy(srcPath, srcPath.Replace(sourceDir, targetDir), true);
         }
     }
     catch (System.UnauthorizedAccessException)
     {
     }
 }
foreach (string srcPath in files)
{
    FileAttributes attributes = File.GetAttributes(srcPath);
    bool isSystem = ((attributes & FileAttributes.System) == FileAttributes.System);
    bool isDirectory = ((attributes & FileAttributes.Directory) == FileAttributes.Directory); 
    if (!isSystem && !isDirectory)
    {
        File.Copy(srcPath, srcPath.Replace(sourceDir, targetDir), true);
    }
}