IT/C/C++ 폴더의 모든 하위폴더와 파일들 얻어오기 mynotepad1 2008. 12. 15. 22:20 void GetFileList(CString strFolder) { CFileFind file; BOOL b = file.FindFile(strFolder + _T("\\*.*")); // 모든 확장자를 다 사용. // CString strMusicFilter = ".MP3.OGG.WMA.WAV"; // 필터링 하고 싶으면 이렇게 쓰면 됨 CString strFolderItem, strFileExt, strTempString; while(b) { b = file.FindNextFile(); if(file.IsDirectory() && !file.IsDots()) // 디렉토리 발견시 { strFolderItem = file.GetFilePath(); GetFileList(strFolderItem); // 하위폴더를 검색하기 위해 재귀호출 발생 } strFolderItem = file.GetFilePath(); strFileExt = strFolderItem.Mid(strFolderItem.ReverseFind('.')); // 확장자만 추출한다. if (!file.IsDots()) // 파일 탐색 필터 정의에따라 해당 StringList에 추가 { strFileExt.MakeUpper(); // strFileExt 에는 확장자 (.EXE 형태) 가 들어옴. 비교위해 대문자화 함 if( file.IsDirectory() ) continue; // 폴더만 남는 경우는 넣으면 안됨 m_sCopyList.push_back(strFolderItem); } } }