폴더 삭제하는 부분 감사합니다!!! 근데 파일갯수 구하는것처럼 폴더 갯수 구해보려는데 안되는데 좋은 방법 있을까요?
String fsrPath = "경로"
int CntFound = FindFirst(fsrPath, faArchive, FCsr);
int Found = FindFirst(fsrPath, faArchive, Fsr);
int FolderTotal, FolderDelete;
int Count = 0;
while(CntFound == 0) // 파일 개수 찾는 반복문
{
++Count;
CntFound = FindNext(FCsr);
}
이렇게해서 파일 개수 찾는데 폴더를 찾으려고 경로랑 이런거 바꿧는데 안되더라구요...
정성훈.해미 님이 쓰신 글 :
: 폴더 갯수는 파일 갯수 구하는 거랑 같은 방법으로 구했을 것이고
: 아마 폴더 삭제 부분이 잘 안되실 거 같습니다.
:
: 폴더를 지우는 함수가
: 빈 폴더일 때만 지워집니다.
: 폴더 안에 파일 또는 하위 폴더가 있으면 안 지워집니다.
:
: 빈 폴더가 아니더라도 삭제하는 함수를 만들어서 사용해 보세요.
:
:
: 혹시나 도움이 되실까 해서
: 제가 만들어서 쓰는 함수를 적어 드립니다.
: 고급스럽진 않지만 그래도 쓸만 합니다.
:
:
:
: // 지정한 날짜시간보다 오래된 파일, 폴더 모두 지우기
: void DeleteFiles(String APath, TDateTime ADT/* = Now()*/, bool ADelSubDir/* = true*/)
: {
: if(APath.IsEmpty()) return;
:
: TSearchRec sr;
: if(FindFirst(APath + "*.*", faAnyFile, sr) == 0) {
: try {
: do {
: if(sr.Name != "." && sr.Name != "..") {
: // 폴더일 때
: if(sr.Attr & faDirectory) {
: String SubPath = APath + "\\" + sr.Name + "\\";
: // 폴더 안의 파일 지우기(재귀호출)
: DeleteFiles(SubPath, ADT, ADelSubDir);
: // 하위폴더 지우기 옵션시 하위 폴더 지우기
: if(ADelSubDir) RemoveDir(SubPath);
: }
: // 파일이 지정한 날짜시간보다 오래된 파일이면 지움
: else if(sr.TimeStamp < ADT) DeleteFile(APath + "\\" + sr.Name);
: }
: } while(FindNext(sr) == 0);
: }
: __finally {
: FindClose(sr);
: }
: }
: }
:
:
:
:
:
:
: LDI 님이 쓰신 글 :
: : 파일같은 경우에는 제가 설정한 개수를 넘으면 자동으로 몇개씩 삭제 되게 해놧는데
: :
: : 폴더도 비슷하게 짜봣더니 좀 다르게 해야하는지 안되네요.
: :
: : 혹시 폴더 개수를 확인하는법이 있을까요?
: :
: : 파일처럼 똑같이 설정 폴더개수를 넘으면 자동으로 폴더 몇개씩 삭제되게 하려하는데
: :
: : 도움주시면 감사하겠습니다.