C#:访问路径<'filepath'>被拒绝

时间:2012-02-10 13:20:43

标签: c# access-denied getfiles

  

可能重复:
  Why am I getting an access denied error for the Documents and Settings folder?

我有一个程序可以读取用户指定文件夹及其子目录中的所有.exe文件。在测试时,我尝试使用C:\作为root进行扫描。

这引发了“UnauthorizedAccessException未处理”{“访问路径'c:\ Documents and Settings \'被拒绝。”}

执行此操作的代码段如下:

 string customScanFolder = Console.ReadLine();
    Console.WriteLine("");

    if (Directory.Exists(customScanFolder) == true)
    {
        string[] customScanResults = Directory.GetFiles(customScanFolder, "*.EXE", SearchOption.AllDirectories);

我仍然是一个C#新手,但是这里的所有Google搜索和相关主题都没有帮助我指明正确的方向。

我的程序运行的系统是Win7,UAC已禁用。 .exe已启用“以管理员身份运行”。

程序只会从文件中读取,而不是写入文件。如何授予访问权限或以其他方式避免此错误,我需要做什么?

谢谢,

2 个答案:

答案 0 :(得分:3)

C:\Documents and Settings不是Windows 7中的文件夹。它是C:\ Users的Junction(或链接)。你应该忽略它。

C:\>dir /a:s C:
 Volume in drive C has no label.
 Volume Serial Number is 86F5-8CF5

 Directory of C:\

03/04/2011  10:19 AM    <DIR>          $Recycle.Bin
02/03/2012  03:00 PM    <DIR>          Config.Msi
07/14/2009  12:08 AM    <JUNCTION>     Documents and Settings [C:\Users]
12/30/2011  01:19 PM    12,882,337,792 pagefile.sys
10/23/2009  03:07 PM    <DIR>          Recovery
01/11/2011  10:24 AM    <DIR>          System Volume Information
               1 File(s) 12,882,337,792 bytes
               5 Dir(s)  64,772,997,120 bytes free

答案 1 :(得分:0)

这与我最近遇到的问题相同。有关我使用的解决方案,请参阅此文章。

Windows service running as system cannot access C:\users\