我正在尝试执行一个自动备份程序,该程序将文件夹复制到另一个文件夹中。非常简单的任务:
File.Copy(Source, Destination);
来源类似于C:\Users\SomeUser\MyDocuments\SavedFiles
目的地类似于D:\BackUp
但是当我运行我的程序时,我得到“访问路径C:\blabla.....
访问被拒绝的错误。”
我必须更改任何类型的权限才能使用Copy
方法吗?我想是的......我看了一下,但我找不到改变这样的地方。
任何想法?
更新
答案 0 :(得分:0)
您必须假设您可能无权访问硬盘驱动器上的某些文件和文件夹。
一种解决方案是使用管理员级权限手动运行应用程序,但更容易修改清单文件,以便应用程序在运行时自动寻找管理员级别。
您可以通过向项目添加mainifest文件来执行此操作(添加新项目...)。
然后更改行
<requestedExecutionLevel level="asInvoker" uiAccess="false" />"
到
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />"
显然,如果要运行该程序的用户没有管理员级帐户,这可能无法解决您的问题。
答案 1 :(得分:0)
google Shadow Copy服务。这就是现成的包装如何运作。