我想编写一个程序,它可以将我本地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或所有文件的所有文件。
答案 0 :(得分:0)
您可以尝试在应用程序运行时提升其权限。
How to request administrator permissions when the program starts?