[C#] 폴더 내 모든 파일 삭제

일반적으로 폴더내의 모든 파일을 지울때

Directory.Delete(srcPath, true);

을 사용하면 되는데….. 폴더내의 파일 중 읽기 전용 파일이 포함 되어있을 경우

Exception 이 발생한다.

 

이럴 때 폴더내의 파일의 읽기 전용 속성을 FileAttributes.Normal 로 바꿔주면

정상적으로 삭제할 수 있다.

 
DirectoryInfo dir = new DirectoryInfo(srcPath);
System.IO.FileInfo[] files = dir.GetFiles("*.*",
SearchOption.AllDirectories);
foreach (System.IO.FileInfo file in files)
file.Attributes = FileAttributes.Normal;
Directory.Delete(srcPath, true);

이렇게 하면 읽기 전용 속성을 포함한 모든 파일을 삭제할 수 있다.

Post Author: 김 키티

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다