DOBON.NETプログラミング掲示板過去ログ
NetHood内フォルダの削除
題名: NetHood内フォルダの削除
著者: qoo11
日時: 2010/09/13 11:34:41
ID: 27307
この記事の返信元:
(なし)
この記事への返信:
[27315]
Re[1]: NetHood内フォルダの削除
shu
2010/09/15 8:13:11
ツリーを表示
環境/言語:[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
この記事の返信元:
[27307]
NetHood内フォルダの削除
qoo11
2010/09/13 11:34:41
この記事への返信:
(なし)
ツリーを表示
■No27307に返信(qoo11さんの記事)
EveryOneだとアクセス権限を取得出来ないのでは?
DOBON.NET
|
プログラミング道
|
プログラミング掲示板
分類:[.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);
}
}