private void FillFilesName(string source, string target) { string[] files = Directory.GetFiles(source); foreach (string file in files) { string name = file; string dest = Path.Combine(target, Path.GetFileName(file)); SourceFiles.Enqueue(name); Target.Enqueue(dest); } string[] folders = Directory.GetDirectories(source); foreach (string folder in folders) { string name = Path.GetFileName(folder); string dest = Path.Combine(target, name); FillFilesName(folder, dest); } }