我想将文件 abc.text 从 D 驱动器移至 E 驱动器中的数据文件夹
System.IO.File.Move("D:\\abc.text", "E:\\data");
但它抛出异常“访问目标被拒绝”并且我的E驱动器上没有任何可能导致访问拒绝的锁定。 我如何避免这种例外?
答案 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“);)