我正在目标位置创建源目录和目标目录的文件列表,要求基于这两个文件的差异,仅复制上次迭代的新文件。
对于第一次迭代复制工作,下一次迭代会创建一个空白的差异 [Difference] 文件,为了处理这个问题,我添加了如果我检查文件长度并再次复制它们的条件。但是 if 条件没有按照行为工作,长度为零,它转到 else 语句并抛出带有空白文件名的错误:
Could not find a part of the path 'C:\interswitch\source\'.
这是代码:
string path = Path.Combine(target_dir, "Diff.txt");
if (new FileInfo(path).Length == 0)
{
foreach (FileInfo fi in sourceinfo.GetFiles())
{
fi.CopyTo(Path.Combine(targetinfo.ToString(), fi.Name), true);
}
}
else
foreach (string file in File.ReadLines(path))
{
{
string sourceFile = System.IO.Path.Combine(source_dir, file);
string destFile = System.IO.Path.Combine(target_dir, file);
System.IO.File.Copy(sourceFile, destFile, true);
}
}