반응형
C #은 폴더와 해당 폴더 내의 모든 파일 및 폴더를 삭제합니다.
폴더와 해당 폴더 내의 모든 파일 및 폴더를 삭제하려고합니다. 아래 코드를 사용하고 있는데 오류가 발생합니다 Folder is not empty
. 할 수있는 방법 에 대한 제안 사항이 있습니까?
try
{
var dir = new DirectoryInfo(@FolderPath);
dir.Attributes = dir.Attributes & ~FileAttributes.ReadOnly;
dir.Delete();
dataGridView1.Rows.RemoveAt(dataGridView1.SelectedRows[i].Index);
}
catch (IOException ex)
{
MessageBox.Show(ex.Message);
}
dir.Delete(true); // true => recursive delete
매뉴얼 읽기 :
Directory.Delete 메서드 (String, Boolean)
Directory.Delete(folderPath, true);
시험:
System.IO.Directory.Delete(path,true)
이렇게하면 권한이 있다고 가정하고 "경로"아래에있는 모든 파일과 폴더가 재귀 적으로 삭제됩니다.
어, 그냥 전화하는 건 Directory.Delete(path, true);
어때?
Directory.Delete의 방법은 재귀 부울 매개 변수가 있습니다, 당신이 무엇을해야한다
다음을 사용해야합니다.
dir.Delete(true);
해당 폴더의 내용도 재귀 적으로 삭제합니다. MSDN DirectoryInfo.Delete () 오버로드를 참조하십시오 .
이 시도.
namespace EraseJunkFiles
{
class Program
{
static void Main(string[] args)
{
DirectoryInfo yourRootDir = new DirectoryInfo(@"C:\somedirectory\");
foreach (DirectoryInfo dir in yourRootDir.GetDirectories())
DeleteDirectory(dir.FullName, true);
}
public static void DeleteDirectory(string directoryName, bool checkDirectiryExist)
{
if (Directory.Exists(directoryName))
Directory.Delete(directoryName, true);
else if (checkDirectiryExist)
throw new SystemException("Directory you want to delete is not exist");
}
}
}
public void Empty(System.IO.DirectoryInfo directory)
{
try
{
logger.DebugFormat("Empty directory {0}", directory.FullName);
foreach (System.IO.FileInfo file in directory.GetFiles()) file.Delete();
foreach (System.IO.DirectoryInfo subDirectory in directory.GetDirectories()) subDirectory.Delete(true);
}
catch (Exception ex)
{
ex.Data.Add("directory", Convert.ToString(directory.FullName, CultureInfo.InvariantCulture));
throw new Exception(string.Format(CultureInfo.InvariantCulture,"Method:{0}", ex.TargetSite), ex);
}
}
이 시도:
foreach (string files in Directory.GetFiles(SourcePath))
{
FileInfo fileInfo = new FileInfo(files);
fileInfo.Delete(); //delete the files first.
}
Directory.Delete(SourcePath);// delete the directory as it is empty now.
반응형
'programing tip' 카테고리의 다른 글
존재하지 않는 경우에만 mkdir (0) | 2020.09.13 |
---|---|
Javascript에서 지금부터 1 년을 결정하는 방법 (0) | 2020.09.13 |
지원 라이브러리 스낵바 텍스트 색상을 android : textColor가 아닌 다른 색상으로 설정하는 방법은 무엇입니까? (0) | 2020.09.13 |
응용 프로그램이 사용 중일 때 모래 시계 표시 (0) | 2020.09.13 |
TextView에서 한 단어의 텍스트 색상 변경 (0) | 2020.09.13 |