반응형
# 디렉터리 및 파일 copy
// 로컬 폴더 및 데이터 카피 로직(재귀적 생성)
public void CopyDirectory(string sourceDir, string destDir)
{
try
{
if (!Directory.Exists(destDir))
{
Directory.CreateDirectory(destDir);
}
foreach (string file in Directory.GetFiles(sourceDir))
{
string destFile = Path.Combine(destDir, Path.GetFileName(file));
File.Copy(file, destFile, true); // true: 덮어쓰기 허용
}
foreach (string subDir in Directory.GetDirectories(sourceDir))
{
string destSubDir = Path.Combine(destDir, Path.GetFileName(subDir));
CopyDirectory(subDir, destSubDir);
}
}
catch (Exception ex)
{
}
}
# 디렉터리 및 파일 delete
public void DeleteLocalContents(string folderPath)
{
try
{
foreach (string file in Directory.GetFiles(folderPath))
{
File.Delete(file);
}
// Directory.GetDirectories(): 모든 하위폴더 목록 추출
// 역순으로 가장 하위 폴더부터 재귀적 검색(삭제 로직)
string[] subfolders = Directory.GetDirectories(folderPath);
for (int i = subfolders.Length - 1; i >= 0; i--)
{
DeleteLocalContents(subfolders[i]);
}
Directory.Delete(folderPath, true); // true: 하위 폴더 및 파일 모두 삭제
// 안전한 삭제 위해서 파일먼저 삭제 후 실행
}
catch (Exception ex)
{
}
}
728x90
'Programming > C# - Window' 카테고리의 다른 글
C#/ FTP 파일 서버 사용하기 (0) | 2023.12.03 |
---|---|
C#/ 압축파일 만들기 (2) | 2023.12.03 |
C#/ 타이머 핸들러 사용(Timer) (0) | 2023.12.02 |
C#/ 레지스트리 등록 사용 (0) | 2023.12.02 |
C#/ .xml 설정파일 사용 (2) | 2023.12.02 |