本帖最后由 李泽勇2 于 2024-4-7 13:48 编辑
差DLL命令以及文件类型的,请在精易模块里面找,精易模块里面也有这个命令,这里只是增强了多扩展名支持。
|
文件_枚举W | 整数型 | | |
欲寻找的目录 | 字节集 | | | | 欲寻找的文件名 | 字节集 | | | | 文件数组 | 字节集 | | | | 是否带路径 | 逻辑型 | | | | 是否遍历子目录 | 逻辑型 | | | | 是否枚举文件夹 | 逻辑型 | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 | FileDir | 字节集 | | | FindData | WIN32_FIND_DATAW | | | hFind | 整数型 | | | pFile | 整数型 | | | dwSize | 整数型 | | | FileName | 字节集 | | | dwLen | 整数型 | | | 计次 | 整数型 | | |
FileDir = 删除Unicode结尾空白字节 (欲寻找的目录, )如果真 (取字节集右边 (FileDir, 2 ) ≠ { 92, 0 })FileDir = FileDir + { 92, 0 }如果真 (是否遍历子目录 = 假)清除数组 (文件数组 )计次循环首 (取数组成员数 (欲寻找的文件名 ), 计次 )hFind = FindFirstFileW (FileDir + 欲寻找的文件名 [计次 ], FindData ) 如果真 (hFind ≠ #INVALID_HANDLE_VALUE )循环判断首 ()如果真 (是否枚举文件夹 = 假 且 位与 (FindData.dwFileAttributes, #FILE_ATTRIBUTE_DIRECTORY ) ≠ 0 或 是否枚举文件夹 且 位与 (FindData.dwFileAttributes, #FILE_ATTRIBUTE_DIRECTORY ) = 0 )到循环尾 ()pFile = 取数据_通用型_数组 (FindData.cFileName)如果真 (pFile = 0 )到循环尾 ()dwSize = lstrlenW (pFile)如果真 (dwSize = 0 )到循环尾 ()FileName = 指针到字节集 (pFile, dwSize × 2 + 2)如果真 (FileName = { 46, 0, 0, 0 } 或 FileName = { 46, 0, 46, 0, 0, 0 })到循环尾 ()如果 (是否带路径 )加入成员 (文件数组, FileDir + FileName )加入成员 (文件数组, FileName )循环判断尾 (FindNextFileW (hFind, FindData )) FindClose (hFind )计次循环尾 ()如果真 (是否遍历子目录 )hFind = FindFirstFileW (FileDir + { 42, 0, 0, 0 }, FindData )如果真 (hFind ≠ #INVALID_HANDLE_VALUE )循环判断首 ()pFile = 取数据_通用型_数组 (FindData.cFileName )如果真 (pFile = 0 )到循环尾 ()dwSize = lstrlenW (pFile)如果真 (dwSize = 0 )到循环尾 ()FileName = 指针到字节集 (pFile, dwSize × 2 + 2)如果真 (FileName = { 46, 0, 0, 0 } 或 FileName = { 46, 0, 46, 0, 0, 0 })到循环尾 ()如果真 (位与 (FindData.dwFileAttributes, #FILE_ATTRIBUTE_DIRECTORY ) ≠ 0 )文件_枚举W (FileDir + FileName, 欲寻找的文件名, 文件数组, 是否带路径, 是否遍历子目录, 是否枚举文件夹 )循环判断尾 (FindNextFileW (hFind, FindData )) FindClose (hFind )dwLen = 取数组成员数 (文件数组)返回 (dwLen ) |