在C#中将文件从源移动到目标

时间:2016-04-08 04:57:10

标签: c#

我想将文件 abc.text D 驱动器移至 E 驱动器中的数据文件夹

System.IO.File.Move("D:\\abc.text", "E:\\data");

但它抛出异常“访问目标被拒绝”并且我的E驱动器上没有任何可能导致访问拒绝的锁定。 我如何避免这种例外?

2 个答案:

答案 0 :(得分:3)

您需要指定文件的全名:

System.IO.File.Move("D:\\abc.text", "E:\\data\\abc.text");

但是你应该得到这个例外:

  

类型' System.IO.DirectoryNotFoundException'的例外情况发生在mscorlib.dll中但未在用户代码中处理

因此,请确保您可以访问data驱动器的E:\文件夹。检查该文件夹的属性,确保它不是“只读”。

您可能获得该异常的一个原因是驱动器中已存在名为data的文件,它可能隐藏/受保护。并排您有一个名为data的文件夹。如果您同时指定了文件名,即目标文件的完整路径,则应解决您的问题。

答案 1 :(得分:1)

以管理模式运行。您可以在启动时右键单击visual studio来完成此操作。

(注意测试你的代码它工作正常,可能你只需要破坏管理员来移动文件.System.IO.File.Move(“D:\ abc.text”,“E:\ data \ abc的.text“);)