폴더 (파일과 서브 폴더 포함)를 삭제하고 싶은데 많은 파일과 서브 폴더 등이 포함 된 서브 폴더입니다. 구글 검색을했는데 성공하지 못합니다. 여기 내 코드입니다.
private void TemporaryFiles_Load(object sender, EventArgs e)
{
bool b = IsAdministrator();
if (b != true)
{
MessageBox.Show("You Should Login as Admininstartor to run this Software at it's fullest.");
}
string TargetFolder = @"C:\Users\user\AppData\Local\Temp";
DeleteFolderAndFile(new DirectoryInfo(TargetFolder));
}
static public void DeleteFolderFile(DirectoryInfo directoryInfo)
{
try
{
foreach (FileInfo file in directoryInfo.GetFiles())
{
try
{
file.Delete();
}
catch
{
//Do Nothing
}
}
foreach (DirectoryInfo Folder in directoryInfo.GetDirectories())
{
try
{
Folder.Delete(true);
}
catch
{
//Do Nothing
}
}
foreach (DirectoryInfo subfolder in directoryInfo.GetDirectories())
{
try
{
DeleteFolderAndFile(subfolder);
}
catch
{
//Do Nothing
}
}
}
catch
{
//Do Nothing
}
}
문제는 메인 폴더 만 삭제되지 않은 상태로 남아 있다는 것입니다.
재귀 적으로 삭제하려면 부울 인수가 true 인 DirectoryInfo delete 메서드를 사용해야합니다. 부모 / 대상 폴더에서 한 번 호출하십시오.
DirectoryInfo dir = new DirectoryInfo(TargetFolder);
dir.Delete(true);
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다