filekernel.h 8.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246
  1. #ifndef __FILE_HELPING_20150819__
  2. #define __FILE_HELPING_20150819__
  3. namespace filekernel
  4. {
  5. interface filefindInterface
  6. {
  7. // 查找全部
  8. virtual BOOL getall(
  9. IN LPCTSTR lpfolder, // 要查找的目录;
  10. IN LPCTSTR lpfindext, // 要查找的扩展名;
  11. IN OUT STR_VEC *pvtfiles, // 返回要查找的文件全名;
  12. IN OUT STR_VEC *pvtnames, // 返回要查找的文件名(无路径,包含扩展名);
  13. IN OUT STR_VEC *pvtnames_noext, // 返回要查找的文件名(无路径,不含扩展名);
  14. IN OUT STR_VEC *pvtfolders // 返回要查找的子目录;
  15. ) = 0;
  16. virtual BOOL getsubfolder(
  17. IN LPCTSTR lpfolder, // 要查找的目录;
  18. IN STR_VEC *pvtfolders // 返回2级子文件夹;
  19. ) = 0;
  20. virtual BOOL getallsubfolder(
  21. IN LPCTSTR lpfolder, // 要查找的目录;
  22. IN STR_VEC *pvtfolders // 返回所有子文件夹;
  23. ) = 0;
  24. //////////////////////////////////////////////////////////////////////////
  25. virtual BOOL getfiles_findin_subfolder(
  26. IN LPCTSTR lpfolder, // 要查找的目录;
  27. IN LPCTSTR lpfindext, // 要查找的扩展名;
  28. IN STR_VEC *pvtfiles // 返回要查找的文件全名;
  29. ) = 0;
  30. virtual BOOL getfiles_findout_subfolder(
  31. IN LPCTSTR lpfolder, // 要查找的目录;
  32. IN LPCTSTR lpfindext, // 要查找的扩展名;
  33. IN OUT STR_VEC *pvtfiles // 返回要查找的文件全名;
  34. ) = 0;
  35. virtual BOOL getfiles_within_subfolder(
  36. IN LPCTSTR lpfolder, // 要查找的目录;
  37. IN LPCTSTR lpfindext, // 要查找的扩展名;
  38. IN STR_VEC *pvtfiles // 返回要查找的文件全名;
  39. ) = 0;
  40. //////////////////////////////////////////////////////////////////////////
  41. virtual BOOL getnames_findin_subfolder(
  42. IN LPCTSTR lpfolder, // 要查找的目录;
  43. IN LPCTSTR lpfindext, // 要查找的扩展名;
  44. IN STR_VEC *pvtnames // 返回要查找的文件名(无路径,包含扩展名);
  45. ) = 0;
  46. virtual BOOL getnames_findout_subfolder(
  47. IN LPCTSTR lpfolder, // 要查找的目录;
  48. IN LPCTSTR lpfindext, // 要查找的扩展名;
  49. IN STR_VEC *pvtnames // 返回要查找的文件名(无路径,包含扩展名);
  50. ) = 0;
  51. virtual BOOL getnames_within_subfolder(
  52. IN LPCTSTR lpfolder, // 要查找的目录;
  53. IN LPCTSTR lpfindext, // 要查找的扩展名;
  54. IN STR_VEC *pvtnames // 返回要查找的文件全名;
  55. ) = 0;
  56. //////////////////////////////////////////////////////////////////////////
  57. virtual BOOL getnames_findin_subfolder_ex(
  58. IN LPCTSTR lpfolder, // 要查找的目录;
  59. IN LPCTSTR lpfindext, // 要查找的扩展名;
  60. IN STR_VEC *pvtnames // 返回要查找的文件名(无路径,不含扩展名);
  61. ) = 0;
  62. virtual BOOL getnames_findout_subfolder_ex(
  63. IN LPCTSTR lpfolder, // 要查找的目录;
  64. IN LPCTSTR lpfindext, // 要查找的扩展名;
  65. IN STR_VEC *pvtnames // 返回要查找的文件名(无路径,不含扩展名);
  66. ) = 0;
  67. virtual BOOL getnames_within_subfolder_ex(
  68. IN LPCTSTR lpfolder, // 要查找的目录;
  69. IN LPCTSTR lpfindext, // 要查找的扩展名;
  70. IN STR_VEC *pvtnames // 返回要查找的文件名(无路径,不含扩展名);
  71. ) = 0;
  72. //////////////////////////////////////////////////////////////////////////
  73. virtual BOOL getfilesnames_findin_subfolder(
  74. IN LPCTSTR lpfolder, // 要查找的目录;
  75. IN LPCTSTR lpfindext, // 要查找的扩展名;
  76. IN STR_VEC *pvtfiles, // 返回要查找的文件全名;
  77. IN STR_VEC *pvtnames // 返回要查找的文件名(无路径,包含扩展名);
  78. ) = 0;
  79. virtual BOOL getfilesnames_findout_subfolder(
  80. IN LPCTSTR lpfolder, // 要查找的目录;
  81. IN LPCTSTR lpfindext, // 要查找的扩展名;
  82. IN STR_VEC *pvtfiles, // 返回要查找的文件全名;
  83. IN STR_VEC *pvtnames // 返回要查找的文件名(无路径,包含扩展名);
  84. ) = 0;
  85. virtual BOOL getfilesnames_within_subfolder(
  86. IN LPCTSTR lpfolder, // 要查找的目录;
  87. IN LPCTSTR lpfindext, // 要查找的扩展名;
  88. IN STR_VEC *pvtfiles, // 返回要查找的文件全名;
  89. IN STR_VEC *pvtnames // 返回要查找的文件名(无路径,包含扩展名);
  90. ) = 0;
  91. //////////////////////////////////////////////////////////////////////////
  92. virtual BOOL getfilesnames_findin_subfolder_ex(
  93. IN LPCTSTR lpfolder, // 要查找的目录;
  94. IN LPCTSTR lpfindext, // 要查找的扩展名;
  95. IN STR_VEC *pvtfiles, // 返回要查找的文件全名;
  96. IN STR_VEC *pvtnames // 返回要查找的文件名(无路径,不含扩展名);
  97. ) = 0;
  98. virtual BOOL getfilesnames_findout_subfolder_ex(
  99. IN LPCTSTR lpfolder, // 要查找的目录;
  100. IN LPCTSTR lpfindext, // 要查找的扩展名;
  101. IN STR_VEC *pvtfiles, // 返回要查找的文件全名;
  102. IN STR_VEC *pvtnames // 返回要查找的文件名(无路径,不含扩展名);
  103. ) = 0;
  104. virtual BOOL getfilesnames_within_subfolder_ex(
  105. IN LPCTSTR lpfolder, // 要查找的目录;
  106. IN LPCTSTR lpfindext, // 要查找的扩展名;
  107. IN STR_VEC *pvtfiles, // 返回要查找的文件全名;
  108. IN STR_VEC *pvtnames // 返回要查找的文件名(无路径,不含扩展名);
  109. ) = 0;
  110. };
  111. interface filecompareInterface
  112. {
  113. //////////////////////////////////////////////////////////////////////////
  114. // 两个文件对比,是否同名;
  115. virtual BOOL comparename_2file(
  116. IN LPCTSTR file1, // 文件1(全路径);
  117. IN LPCTSTR file2 // 文件2(全路径);
  118. ) = 0;
  119. // 指定文件名,与一组文件名对比;
  120. virtual BOOL comparename_findin_names(
  121. IN LPCTSTR name, // 文件名(无路径,不含扩展名);
  122. IN STR_VEC& vtnames // 一组文件名(无路径,不含扩展名);
  123. ) = 0;
  124. // 指定文件名,与一组文件对比;
  125. virtual BOOL comparename_findin_files(
  126. IN LPCTSTR name, // 文件名(不含扩展名);
  127. IN STR_VEC& vtfiles // 一组文件(全路径);
  128. ) = 0;
  129. // 指定文件名,与一文件夹对比;
  130. virtual BOOL comparename_findin_folder(
  131. IN LPCTSTR name, // 文件名(不含扩展名);
  132. IN LPCTSTR folder, // 文件夹;
  133. IN LPCTSTR findext, // 要查找的扩展名;
  134. IN BOOL bsubfolder // 是否查找文件夹内的子目录;
  135. ) = 0;
  136. //////////////////////////////////////////////////////////////////////////
  137. // 指定一组文件名,与另一组文件名对比;
  138. virtual INT comparenames_findin_names(
  139. IN STR_VEC vtSrcnames, // 指定的一组源文件名(无路径,不含扩展名);
  140. IN STR_VEC vtDesnames, // 指定的一组目标文件名(无路径,不含扩展名);
  141. OUT STR_VEC *pvtIsonym = NULL // 返回同名的文件名;
  142. ) = 0;
  143. // 指定一组文件名,与一组文件(全路径)对比;
  144. virtual INT comparenames_findin_files(
  145. IN STR_VEC vtnames, // 指定的一组源文件名(无路径,不含扩展名);
  146. IN STR_VEC vtfiles, // 指定的一组目标文件(全路径);
  147. IN LPCTSTR findext, // 要查找的扩展名;
  148. OUT STR_VEC *pvtIsonym = NULL // 返回同名的文件名;
  149. ) = 0;
  150. // 指定的一组文件名,与一文件夹对比;
  151. virtual INT comparenames_findin_folder(
  152. IN STR_VEC vtnames, // 指定的一组源文件名(无路径,不含扩展名);
  153. IN LPCTSTR folder, // 文件夹;
  154. IN BOOL bsubfolder, // 是否查找文件夹内的子目录;
  155. IN LPCTSTR findext, // 要查找的扩展名;
  156. OUT STR_VEC *pvtIsonym = NULL // 返回同名的文件名;
  157. ) = 0;
  158. //////////////////////////////////////////////////////////////////////////
  159. // 指定一文件,与一组文件名对比;
  160. virtual BOOL comparefile_findin_names(
  161. IN LPCTSTR file, // 文件1(全路径);
  162. IN STR_VEC& vtnames // 指定的一组文件名(无路径,不含扩展名)
  163. ) = 0;
  164. // 指定一文件,与一组文件对比;
  165. virtual BOOL comparefile_findin_files(
  166. IN LPCTSTR file, // 文件(全路径);
  167. IN STR_VEC& vtfiles, // 指定的一组文件(全路径)
  168. IN LPCTSTR findext // 要查找的扩展名;
  169. ) = 0;
  170. // 指定一文件,与一文件夹对比;
  171. virtual BOOL comparefile_findin_folder(
  172. IN LPCTSTR file, // 文件(全路径);
  173. IN LPCTSTR folder, // 文件夹;
  174. IN BOOL bsubfolder, // 是否查找子文件夹;
  175. IN LPCTSTR findext // 要查找的扩展名;
  176. ) = 0;
  177. //////////////////////////////////////////////////////////////////////////
  178. // 指定一组文件,与另一组文件对比;
  179. virtual INT comparefiles_findin_files(
  180. IN STR_VEC &vtfiles1, // 指定的一组源文件;
  181. IN STR_VEC &vtfiles2, // 指定的一组目标文件;
  182. IN LPCTSTR findext, // 要查找的扩展名;
  183. OUT STR_VEC *pvtIsonym = NULL // 返回同名的文件名;
  184. ) = 0;
  185. // 指定一组文件,与一文件夹对比;
  186. virtual INT comparefiles_findin_folder(
  187. IN STR_VEC &vtfiles, // 指定的一组源文件;
  188. IN LPCTSTR folder, // 指定的文件夹;
  189. IN BOOL bsubfolder, // 是否查找子文件夹;
  190. IN LPCTSTR findext, // 要查找的扩展名;
  191. OUT STR_VEC *pvtIsonym = NULL // 返回同名的文件名;
  192. ) = 0;
  193. // 文件夹自我对比(所有子文件夹对比)
  194. virtual INT comparefolderself(
  195. IN LPCTSTR folder, // 指定文件夹;
  196. IN LPCTSTR findext, // 要查找的扩展名;
  197. OUT STR_VEC *pvtIsonym = NULL // 返回同名的文件名;
  198. ) = 0;
  199. // 指定一文件夹,与另一文件夹对比;
  200. virtual INT comparefolder_findin_folder(
  201. IN LPCTSTR folder1, // 指定源文件夹;
  202. IN LPCTSTR folder2, // 指定目标文件夹;
  203. IN BOOL bsubfolder, // 是否查找子文件夹;
  204. IN LPCTSTR findext, // 要查找的扩展名;
  205. OUT STR_VEC *pvtIsonym = NULL // 返回同名的文件名;
  206. ) = 0;
  207. };
  208. interface filefind2Interface
  209. {//查找前缀或后缀,替换字符;
  210. };
  211. };
  212. #endif