4

だから私は使用してDirectory.GetFiles(folder, "*.jpg", SearchOption.AllDirectories)います。Windows 7のドライブで試してみるとc:\、Windows 7にはまだc:\documents and settings(XPなどのレガシーシステム用に)あったため、保護されたフォルダーです。実際にはフォルダーではないため、保護されているだけです。ダミーフォルダのようなものです。したがって、このコードを実行すると:

try
{
    string[] folders = Directory.GetFiles(@"C:\\","*.jpg", SearchOption.AllDirectories);
    foreach (string item in folders)
    { 
       //blah blah
    }
catch
{
}

常に UnauthorizedAccessException をスローします。それは私を過去にさせません。私がやろうとしているのは、アクセス許可のないフォルダーをスキップすることですが、検索を続行し、catch ブロックに巻き込まれないで続行するだけです。何か案は?

4

1 に答える 1

2

この記事の 2 つの回避策のいずれかを試してみます (下部にある [回避策] タブをクリックします)。

http://connect.microsoft.com/VisualStudio/feedback/details/94751/optionally-prevent-directoryinfo-getfiles-from-throwing-unauthorizedaccessexception

于 2011-05-29T19:22:33.327 に答える