尝试这样做:
Dim originalPath As String = "\\comp1\c$\target"
Dim destinationPath As String = "\\comp2\c$\target"
If Directory.Exists(path) Then
Directory.Move(originalPath, destinationPath)
End If
但它失败了。还有另一种方法可以达到同样的效果吗?
答案 0 :(得分:5)
正如Barry所说,Directory.Move()确实not work across volumes - 两个不同的计算机(如您的示例所示)当然不符合相同的数量(可能是两个不同的股票在终点指向同一台计算机上的相同卷 - 但我不确定这里。)
首先执行Directory.CreateDirectory(targetpath),然后复制所有文件(使用Directory.GetFiles();根据需要递归创建子目录),当所有成功的文件在源路径上执行Directory.Delete()时。 / p>
您可能希望在网络上搜索现有实施。
请注意,这不是原子操作。因此,您可能需要考虑只能复制源目录的一部分的情况,将部分保留在目标中。
答案 1 :(得分:1)
您无法将目录移动到其他卷。
http://msdn.microsoft.com/en-us/library/system.io.directory.move.aspx
此外,您正在检查path
是否存在 - 这是一个错字,因为您提供的代码中不存在路径?
答案 2 :(得分:0)
看看MSDN documentation。我会尝试点击异常,看看它失败的原因。
答案 3 :(得分:0)
我要回答......是的。您可以通过ASP.NET复制/移动文件/文件夹。
如果失败,通常会生成一个异常,告诉您有关错误的更多信息。我以前看过这些文件/文件夹副本的错误。
我们可以通过例外细节更好地帮助您。