DOBON.NET DOBON.NETプログラミング掲示板過去ログ

NetHood内フォルダの削除

環境/言語:[XP sp2、C#(VS2005)、framework2.0]
分類:[.NET]

2010/09/13(Mon) 11:43:27 編集(投稿者)
2010/09/13(Mon) 11:36:27 編集(投稿者)

XPの[C:\Documents and Settings\[username]\NetHood]以下フォルダを
削除したいのですが以下のエラーが発生してしまいます。

[エラー内容]
パス 'xxxx - 192.168.xxx.xxx' へのアクセスが拒否されました。

アクセス権限等で特殊な条件などあるのでしょうか?
どうぞよろしくお願い致します。

using System.Collections.Generic;
using System.IO;
using System.Security.AccessControl;
をファイル先頭に記載

string dirPath = @"C:\Documents and Settings\[username]\NetHood";
System.IO.DirectoryInfo Dir = new DirectoryInfo(dirPath);

List<string> DelList = new List<string>();
if (Dir.Exists)
{
foreach (DirectoryInfo Child in Dir.GetDirectories())
{
if (Child.Name.StartsWith("xxx"))
{
DirectorySecurity DirSec = Child.GetAccessControl();

//アクセス権限を指定
FileSystemAccessRule AccessRule =
new FileSystemAccessRule(
"Everyone",
FileSystemRights.FullControl,
InheritanceFlags.ContainerInherit | InheritanceFlags.ObjectInherit,
PropagationFlags.None,
AccessControlType.Allow);

DirSec.AddAccessRule(AccessRule);
Child.SetAccessControl(DirSec);
DelList.Add(Child.FullName);
}
}
}


if (!DelList.Count.Equals(0))
{
foreach (string path in DelList)
{
System.IO.Directory.Delete(path, true);
}
}
  • 題名: Re[1]: NetHood内フォルダの削除
  • 著者: shu
  • 日時: 2010/09/15 8:13:11
  • ID: 27315
  • この記事の返信元:
  • この記事への返信:
    • (なし)
  • ツリーを表示
■No27307に返信(qoo11さんの記事)
EveryOneだとアクセス権限を取得出来ないのでは?

DOBON.NET | プログラミング道 | プログラミング掲示板