复制目录,但只在需要时更新文件

时间:2012-07-11 10:23:31

标签: vb.net

我使用以下代码:

my.Computer.FileSystem.CopyDirectory(path, path, true)

但是,我认为即使在目录中更改了单个文件,也会复制整个目录。这是真的吗?

如果是这样,是否有任何验证我可以说它只更新文件而不是整个文件夹?我的应用程序将在大约300台计算机上运行,​​每台计算机复制超过300 MB,因此如果每次尝试复制任何目录,即使只更改了一个文件,也可能导致网络崩溃或变慢。

1 个答案:

答案 0 :(得分:2)

您可以尝试在隐藏的命令提示符下执行命令XCOPY。

例如:

xcopy d:\temp d:\temp2 /D /Y

会将每个修改过的文件从源目录复制到目标目录,而不会要求覆盖确认

你可以写这样的东西

        Dim startInfo As New ProcessStartInfo("cmd.exe")
        startInfo.WindowStyle = ProcessWindowStyle.Hidden
        startInfo.Arguments = "/C xcopy d:\temp d:\temp2 /D /Y"
        Dim proc = new Process()
        proc.StartInfo = startInfo
        proc.Start()