static void getAllFileNameInDir(string path, ref List<string> files) { DirectoryInfo folder = new DirectoryInfo(path); Console.WriteLine(path); foreach (FileSystemInfo file in folder.GetFileSystemInfos()) { //如果是文件,进行文件的复制操作 FileInfo fileInfo = file as FileInfo; if (fileInfo != null) { //获取文件所在原始路径 string new_path = path + "\\" + fileInfo.Name; files.Add(new_path); } else { string pp = path + "\\" + file.Name; getAllFileNameInDir(pp, ref files); } } }
大致流程就是遍历文件夹下的所有子系统(有可能是文件夹或者文件),如果是文件夹则递归调用,如果是文件则将其路径添加至引用的list当中。