본문 바로가기

프로그래밍/C#

C# 윈폼 - 파일 이동,복사,삭제, 폴더 이동,복사,삭제

반응형

파일 한개 복사

System.IO.File.Copy(@"원본파일 경로와 파일명", @"결과파일 경로와 파일명", true); //true는 덮어쓰기 허용, false는 허용안함.

 

 

파일 한개 이동

System.IO.File.Move(@"원본파일 경로와 파일명", @"결과파일 경로와 파일명");

 

 

파일 한개 삭제(1) - Delete 메서드 사용

System.IO.File.Delete(@"파일경로와 파일명"); //파일 삭제

영구적인 삭제이다. 휴지통으로 삭제하는 것 아님.

 

 

파일 한개 삭제(2) - FileInfo 인스턴스 사용

System.IO.FileInfo file_info = new System.IO.FileInfo(@"파일경로와 파일명"); //객체 생성
file_info.Delete(); //삭제

영구적인 삭제이다. 휴지통으로 삭제하는 것 아님.

 

 

폴더와 폴더안의 모든 파일 복사

if (System.IO.Directory.Exists(@"원본폴더경로")) //폴더 존재 유무 확인
{
    string[] files = System.IO.Directory.GetFiles(@"원본폴더경로"); //폴더안의 파일들을 배열에 저장

    string fileName; //원본파일명 용 변수선언
    string destFile; //타깃폴더경로와 파일명 용 변수선언
    foreach (string s in files) 
    {       
        fileName = System.IO.Path.GetFileName(s); //파일이름 얻어오기
        destFile = System.IO.Path.Combine(@"타깃폴더경로", fileName); //타깃폴더경로와 파일명 합치기, 타깃폴더는 존재하고 있어야 한다.
        System.IO.File.Copy(s, destFile, true); //타깃폴더에 파일 저장
    }
}

타깃폴더가 존재하지 않으면 에러남.

 

 

폴더와 폴더 안의 모든 파일 이동

System.IO.Directory.Move(@"원본폴더경로", @"타깃폴더경로");

 

 

폴더와 폴더 안의 모든 파일 삭제

System.IO.Directory.Delete(@"폴더경로", true); //해당폴더와 하위폴더 및 모든 파일 삭제(true)

 

 

빈 폴더 삭제

System.IO.Directory.Delete(@"폴더경로"); //이와 같이 삭제할 경우 반드시 빈 폴더여야 하고, 쓰기권한이 있어야 함.

 

.

.

사랑하는 자여 

악한 것을 본받지 말고 선한 것을 본받으라 

선을 행하는 자는 하나님께 속하고 악을 행하는 자는 하나님을 뵈옵지 못하였느니라

-성경 요한삼서 1장 11절

반응형