C#,将多个所有子目录中的文件复制到一个目录

问题描述:

所以我犯了一个错误,让iTunes管理我的音乐,现在任何拥有多个艺术家的歌曲都在一个单独的子目录中。我试图从iTunes创建的所有嵌套目录中获取所有音乐文件,并将它们转储到一个文件夹中,这样我就可以使用更加出色的程序来组织我的音乐(对iTunes爱好者没有任何意义)。C#,将多个所有子目录中的文件复制到一个目录

我知道如何目录复制到另一个位置,而且还列出了目录和子目录所示here

我的假设是,我必须列出所有的目录,子目录,和这些目录的内容,然后遍历每个文件字符串。

有没有一种方法来获取目录树中所有文件(而不是目录)的列表以简化过程?

+0

不,我知道的。文件系统的工作方式需要轮询每个目录和子目录,寻找文件。 – 2010-10-02 19:09:13

+1

+1:“我犯了让iTunes管理我的音乐的错误”;) – 2010-10-02 20:19:03

尝试System.Io.Directory.GetFiles过载为SearchOptions。这使您可以指定搜索所有子目录。

不知道这是否正是你正在寻找,但应该让你开始。

http://msdn.microsoft.com/en-us/library/ms143448.aspx

using System; 
using System.IO; 

DirectoryInfo itunes = new DirectoryInfo("MyItunesPath"); 

FileInfo[] itunesFiles = 
    itunes.GetFiles("*.*", SearchOption.AllDirectories); 
+0

谢谢,那应该工作。我无法找到正确的搜索条件来获得此结果。 – 2010-10-02 19:36:17