我试图复制来自"来源"文件夹到我的目的地"文件夹,没有重复。我无法使用目标文件夹进行比较,因为它最终会从那里删除。我在这里得到了帮助来制作批处理文件
Robocopy "source" "destination" "*chr.txt*" "*hdr.txt*" /M
使用属性来跟踪文件复制之前。但是我需要在C#中执行此操作。我知道要复制的命令
System.IO.File.Copy(sourceFile, destFile, true);
但不确定如何具体了解文件名" * chr.txt"并照顾重复。
答案 0 :(得分:1)
我需要在C#中执行此操作
Process.Start("robocopy", "source destination chr.txt hdr.txt /M");
答案 1 :(得分:0)
这是我前一段时间创建的方法,对我来说效果很好(除了检查我刚刚添加但未经过测试的重复部分)。如果它的任何部分不能满足你的需要,请告诉我。
private static void CopyDirectory(string from, string to)
{
var toFileNames = new DirectoryInfo(to)
.GetFiles()
.Select(f => f.Name)
.ToList();
var directory = new DirectoryInfo(from);
var files = directory.GetFiles();
foreach (var file in files)
if (!toFileNames.Contains(file.Name))
file.CopyTo(Path.Combine(to, file.Name));
var subDirectories = directory.GetDirectories();
foreach (var subDirectory in subDirectories)
{
var newDirectory = Directory.CreateDirectory(Path.Combine(to, subDirectory.Name));
CopyDirectory(subDirectory.FullName, newDirectory.FullName);
}
}