#ifndef __FILEHELPING_20150818__ #define __FILEHELPING_20150818__ #pragma once #include "findfile.h" #include "filekernel.h" namespace filehelping { class AFX_CLASS_EXPORT filehelpImpl : public filekernel::findfile, public filekernel::filefindInterface, public filekernel::filecompareInterface { public: filehelpImpl(void); ~filehelpImpl(void); public: // 查找全部 BOOL getall( IN LPCTSTR lpfolder, // 要查找的目录; IN LPCTSTR lpfindext, // 要查找的扩展名; IN OUT STR_VEC *pvtfiles, // 返回要查找的文件全名; IN OUT STR_VEC *pvtnames, // 返回要查找的文件名(无路径,包含扩展名); IN OUT STR_VEC *pvtnames_noext, // 返回要查找的文件名(无路径,不含扩展名); IN OUT STR_VEC *pvtfolders // 返回要查找的子目录; ); BOOL getsubfolder( IN LPCTSTR lpfolder, // 要查找的目录; IN STR_VEC *pvtfolders // 返回子文件夹; ); BOOL getallsubfolder( IN LPCTSTR lpfolder, // 要查找的目录; IN STR_VEC *pvtfolders // 返回所有子文件夹; ); ////////////////////////////////////////////////////////////////////////// BOOL getfiles_findin_subfolder( IN LPCTSTR lpfolder, // 要查找的目录; IN LPCTSTR lpfindext, // 要查找的扩展名; IN STR_VEC *pvtfiles // 返回要查找的文件全名; ); BOOL getfiles_findout_subfolder( IN LPCTSTR lpfolder, // 要查找的目录; IN LPCTSTR lpfindext, // 要查找的扩展名; IN OUT STR_VEC *pvtfiles // 返回要查找的文件全名; ); BOOL getfiles_within_subfolder( IN LPCTSTR lpfolder, // 要查找的目录; IN LPCTSTR lpfindext, // 要查找的扩展名; IN STR_VEC *pvtfiles // 返回要查找的文件全名; ); ////////////////////////////////////////////////////////////////////////// BOOL getnames_findin_subfolder( IN LPCTSTR lpfolder, // 要查找的目录; IN LPCTSTR lpfindext, // 要查找的扩展名; IN STR_VEC *pvtnames // 返回要查找的文件名(无路径,包含扩展名); ); BOOL getnames_findout_subfolder( IN LPCTSTR lpfolder, // 要查找的目录; IN LPCTSTR lpfindext, // 要查找的扩展名; IN STR_VEC *pvtnames // 返回要查找的文件名(无路径,包含扩展名); ); BOOL getnames_within_subfolder( IN LPCTSTR lpfolder, // 要查找的目录; IN LPCTSTR lpfindext, // 要查找的扩展名; IN STR_VEC *pvtnames // 返回要查找的文件全名; ); ////////////////////////////////////////////////////////////////////////// BOOL getnames_findin_subfolder_ex( IN LPCTSTR lpfolder, // 要查找的目录; IN LPCTSTR lpfindext, // 要查找的扩展名; IN STR_VEC *pvtnames // 返回要查找的文件名(无路径,不含扩展名); ); BOOL getnames_findout_subfolder_ex( IN LPCTSTR lpfolder, // 要查找的目录; IN LPCTSTR lpfindext, // 要查找的扩展名; IN STR_VEC *pvtnames // 返回要查找的文件名(无路径,不含扩展名); ); BOOL getnames_within_subfolder_ex( IN LPCTSTR lpfolder, // 要查找的目录; IN LPCTSTR lpfindext, // 要查找的扩展名; IN STR_VEC *pvtnames // 返回要查找的文件名(无路径,不含扩展名); ); ////////////////////////////////////////////////////////////////////////// BOOL getfilesnames_findin_subfolder( IN LPCTSTR lpfolder, // 要查找的目录; IN LPCTSTR lpfindext, // 要查找的扩展名; IN STR_VEC *pvtfiles, // 返回要查找的文件全名; IN STR_VEC *pvtnames // 返回要查找的文件名(无路径,包含扩展名); ); BOOL getfilesnames_findout_subfolder( IN LPCTSTR lpfolder, // 要查找的目录; IN LPCTSTR lpfindext, // 要查找的扩展名; IN STR_VEC *pvtfiles, // 返回要查找的文件全名; IN STR_VEC *pvtnames // 返回要查找的文件名(无路径,包含扩展名); ); BOOL getfilesnames_within_subfolder( IN LPCTSTR lpfolder, // 要查找的目录; IN LPCTSTR lpfindext, // 要查找的扩展名; IN STR_VEC *pvtfiles, // 返回要查找的文件全名; IN STR_VEC *pvtnames // 返回要查找的文件名(无路径,包含扩展名); ); ////////////////////////////////////////////////////////////////////////// BOOL getfilesnames_findin_subfolder_ex( IN LPCTSTR lpfolder, // 要查找的目录; IN LPCTSTR lpfindext, // 要查找的扩展名; IN STR_VEC *pvtfiles, // 返回要查找的文件全名; IN STR_VEC *pvtnames // 返回要查找的文件名(无路径,不含扩展名); ); BOOL getfilesnames_findout_subfolder_ex( IN LPCTSTR lpfolder, // 要查找的目录; IN LPCTSTR lpfindext, // 要查找的扩展名; IN STR_VEC *pvtfiles, // 返回要查找的文件全名; IN STR_VEC *pvtnames // 返回要查找的文件名(无路径,不含扩展名); ); BOOL getfilesnames_within_subfolder_ex( IN LPCTSTR lpfolder, // 要查找的目录; IN LPCTSTR lpfindext, // 要查找的扩展名; IN STR_VEC *pvtfiles, // 返回要查找的文件全名; IN STR_VEC *pvtnames // 返回要查找的文件名(无路径,不含扩展名); ); public: ////////////////////////////////////////////////////////////////////////// BOOL comparename_findin_names(IN LPCTSTR name); // 两个文件对比,是否同名; BOOL comparename_2file( IN LPCTSTR file1, // 文件1(全路径); IN LPCTSTR file2 // 文件2(全路径); ); // 指定文件名,与一组文件名对比; BOOL comparename_findin_names( IN LPCTSTR name, // 文件名(无路径,不含扩展名); IN STR_VEC& vtnames // 一组文件名(无路径,不含扩展名); ); // 指定文件名,与一组文件对比; BOOL comparename_findin_files( IN LPCTSTR name, // 文件名(不含扩展名); IN STR_VEC& vtfiles // 一组文件(全路径); ); // 指定文件名,与一文件夹对比; BOOL comparename_findin_folder( IN LPCTSTR name, // 文件名(不含扩展名); IN LPCTSTR folder, // 文件夹; IN LPCTSTR findext, // 要查找的扩展名; IN BOOL bsubfolder // 是否查找文件夹内的子目录; ); ////////////////////////////////////////////////////////////////////////// // 指定一组文件名,与另一组文件名对比; INT comparenames_findin_names( IN STR_VEC vtSrcnames, // 指定的一组源文件名(无路径,不含扩展名); IN STR_VEC vtDesnames, // 指定的一组目标文件名(无路径,不含扩展名); OUT STR_VEC *pvtIsonym = NULL // 返回同名的文件名; ); // 指定一组文件名,与一组文件(全路径)对比; INT comparenames_findin_files( IN STR_VEC vtnames, // 指定的一组源文件名(无路径,不含扩展名); IN STR_VEC vtfiles, // 指定的一组目标文件(全路径); IN LPCTSTR findext, // 要查找的扩展名; OUT STR_VEC *pvtIsonym = NULL // 返回同名的文件名; ); // 指定的一组文件名,与一文件夹对比; INT comparenames_findin_folder( IN STR_VEC vtnames, // 指定的一组源文件名(无路径,不含扩展名); IN LPCTSTR folder, // 文件夹; IN BOOL bsubfolder, // 是否查找文件夹内的子目录; IN LPCTSTR findext, // 要查找的扩展名; OUT STR_VEC *pvtIsonym = NULL // 返回同名的文件名; ); ////////////////////////////////////////////////////////////////////////// // 指定一文件,与一组文件名对比; BOOL comparefile_findin_names( IN LPCTSTR file, // 文件1(全路径); IN STR_VEC& vtnames // 指定的一组文件名(无路径,不含扩展名) ); // 指定一文件,与一组文件对比; BOOL comparefile_findin_files( IN LPCTSTR file, // 文件(全路径); IN STR_VEC& vtfiles, // 指定的一组文件(全路径) IN LPCTSTR findext // 要查找的扩展名; ); // 指定一文件,与一文件夹对比; BOOL comparefile_findin_folder( IN LPCTSTR file, // 文件(全路径); IN LPCTSTR folder, // 文件夹; IN BOOL bsubfolder, // 是否查找子文件夹; IN LPCTSTR findext // 要查找的扩展名; ); ////////////////////////////////////////////////////////////////////////// // 指定一组文件,与另一组文件对比; INT comparefiles_findin_files( IN STR_VEC &vtfiles1, // 指定的一组源文件; IN STR_VEC &vtfiles2, // 指定的一组目标文件; IN LPCTSTR findext, // 要查找的扩展名; OUT STR_VEC *pvtIsonym = NULL // 返回同名的文件名; ); // 指定一组文件,与一文件夹对比; INT comparefiles_findin_folder( IN STR_VEC &vtfiles, // 指定的一组源文件; IN LPCTSTR folder, // 指定的文件夹; IN BOOL bsubfolder, // 是否查找子文件夹; IN LPCTSTR findext, // 要查找的扩展名; OUT STR_VEC *pvtIsonym = NULL // 返回同名的文件名; ); // 文件夹自我对比(所有子文件夹对比) INT comparefolderself( IN LPCTSTR folder, // 指定文件夹; IN LPCTSTR findext, // 要查找的扩展名; OUT STR_VEC *pvtIsonym = NULL // 返回同名的文件名; ); // 指定一文件夹,与另一文件夹对比; INT comparefolder_findin_folder( IN LPCTSTR folder1, // 指定源文件夹; IN LPCTSTR folder2, // 指定目标文件夹; IN BOOL bsubfolder, // 是否查找子文件夹; IN LPCTSTR findext, // 要查找的扩展名; OUT STR_VEC *pvtIsonym = NULL // 返回同名的文件名; ); }; }; #endif