获取目录访问权限

时间:2013-12-15 11:14:28

标签: c#

我想编写一个程序,它可以将我本地PC上的所有txt文件复制到特定位置。到目前为止,这没有问题,我有权打开目录。一些导演抛出UnauthorizedException。是否可以先访问然后读取文件?这就是我到目前为止所做的事情:

public List<FileInfo> SearchFiles(List<string> pattern) 
{
    List<FileInfo> files = new List<FileInfo>();

    foreach (DriveInfo drive in DriveInfo.GetDrives())
    {
        var dirs = from dir in drive.RootDirectory.EnumerateDirectories()
                   select new
                   {
                       ProgDir = dir,
                   };

        foreach (var di in dirs)
        {
            try
            {
                foreach (string muster in pattern)
                {
                    foreach (var fi in di.ProgDir.EnumerateFiles(muster, SearchOption.AllDirectories))
                    {
                        try
                        {
                            files.Add(fi);
                        }
                        catch (UnauthorizedAccessException)
                        {

                        }
                    }
                }
            }
            catch (UnauthorizedAccessException)
            {
            }
        }
    }

    return files;
}

带字符串的List给出了方法搜索的模式。例如,所有txt文件和名称中的hallo或所有文件的所有文件。

1 个答案:

答案 0 :(得分:0)

您可以尝试在应用程序运行时提升其权限。

How to request administrator permissions when the program starts?