|

本帖最后由 琪诺兔 于 2021-12-29 17:34 编辑
|
文件_枚举WEx | 整数型 | | |
欲寻找的目录 | 字节集 | | | | 欲寻找的文件名 | 字节集 | | | | 枚举子目录 | 逻辑型 | | | | 从零开始 | 逻辑型 | | | | 文件名组 | 字节集 | | | | 短文件名组 | 字节集 | | | | 路径组 | 字节集 | | | | 尺寸组 | 字节集 | | | | 创建时间组 | 字节集 | | | | 修改时间组 | 字节集 | | | | 访问时间组 | 字节集 | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 | 计数 | 整数型 | | | 找到文件信息 | 文件信息 | | | 日期时 | 系统时间戳 | | | 被寻找路径 | 字节集 | | | 欲寻找文件名 | 字节集 | | | 枚举句柄 | 整数型 | | | 文件名称 | 字节集 | | | 格式 | 字节集 | | | 下一个 | 逻辑型 | | | 子目录 | 字节集 | | | 尺寸 | 字节集 | | |
被寻找路径 = 删尾零W (欲寻找的目录 ) 如果真 (从零开始 ) 计数 = 0 如果真 (取字节集右边 (被寻找路径, 2 ) ≠ { 92, 0 }) 被寻找路径 = 被寻找路径 + { 92, 0 } 如果真 (是否为空 (欲寻找的文件名 ))  欲寻找的文件名 = { 42, 0 }欲寻找文件名 = 删尾零W (欲寻找的文件名)枚举句柄 = 枚举第一个文件W (被寻找路径 + 欲寻找文件名 + { 0, 0 }, 找到文件信息 ) 如果真 (枚举句柄 = #INVALID_HANDLE_VALUE ) 返回 ( #INVALID_HANDLE_VALUE ) 循环判断首 () 文件名称 = 删尾零W (到字节集 (找到文件信息.文件名 ))  如果真 (取字节集左边 (格式, 2 ) = { 0, 0 }) 取字节集左边 (格式, 取字节集长度 (格式 ) - 2 ) 格式 = 删尾零W (到字节集 (找到文件信息.类型)) 如果真 (比较字节 (文件名称 + { 0, 0 }, { 46, 0, 0, 0 }) ≠ #NULL 且 比较字节 (文件名称 + { 0, 0 }, { 46, 0, 46, 0, 0, 0 }) ≠ #NULL )  如果真 (枚举子目录 且 位与 (找到文件信息.文件属性, #FILE_ATTRIBUTE_DIRECTORY ) ≠ #NULL )   子目录 = 被寻找路径 + 文件名称 + { 92, 0 }  文件_枚举WEx (子目录, 欲寻找的文件名 )  如果真 (位与 (找到文件信息.文件属性, #FILE_ATTRIBUTE_ARCHIVE ) ≠ #NULL )   文件名称 = 文件名称 + { 0, 0 }   计数 = 计数 + 1    如果真 (是否为空 (文件名组 ))    加入成员 (文件名组, 文件名称 )   如果真 (是否为空 (短文件名组 ))     判断 (格式 = { })    加入成员 (短文件名组, 文件名称 )    加入成员 (短文件名组, 格式 + { 0, 0 })        如果真 (是否为空 (路径组 ))    加入成员 (路径组, 被寻找路径 + 文件名称 )   如果真 (是否为空 (尺寸组 ))     尺寸 = 取空白字节集 (32 )   长度格式化文本W (取字节集数据 (到字节集 (找到文件信息.长度低位 ) + 到字节集 (找到文件信息.长度高位 ), #长整数型, ), 尺寸, 16 )   加入成员 (尺寸组, 尺寸 )   如果真 (是否为空 (创建时间组 ))    文件时间转系统时间戳 (找到文件信息.创建时间, 日期时 )   加入成员 (创建时间组, 系统时间到文本 (日期时 ))    如果真 (是否为空 (修改时间组 ))    文件时间转系统时间戳 (找到文件信息.修改时间, 日期时 )   加入成员 (修改时间组, 系统时间到文本 (日期时 ))    如果真 (是否为空 (访问时间组 ))    文件时间转系统时间戳 (找到文件信息.访问时间, 日期时 )   加入成员 (访问时间组, 系统时间到文本 (日期时 ))        下一个 = 枚举下一个文件W (枚举句柄, 找到文件信息) 循环判断尾 (下一个 )关闭枚举 (枚举句柄 )返回 (计数 )|
系统时间到文本 | 字节集 | | |
SYSTEMTIME | SYSTEMTIME | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 | 文本 | 文本型 | | | 回调 | 字节集 | | | 长度 | 整数型 | | |
文本 = 到文本 (SYSTEMTIME.年 ) + “/” + 到文本 (SYSTEMTIME.月 ) + “/” + 到文本 (SYSTEMTIME.日 ) + “ ” + 到文本 (SYSTEMTIME.时 ) + “:” + 到文本 (SYSTEMTIME.分 ) + “:” + 到文本 (SYSTEMTIME.秒 ) + “:” + 到文本 (SYSTEMTIME.毫 )长度 = 转换文字列_AToU (0, 0, 文本, -1, { }, 0 )回调 = 取空白字节集 (长度 × 2 )转换文字列_AToU (936, 0, 文本, -1, 回调, 长度 × 2 )返回 (回调 )i = 寻找字节集 (欲被处理的字节集, { 0, 0 }, ) 如果真 (i ≠ -1 ) 如果真 (i % 2 ≠ 0 )  i = i - 1 返回 (取字节集左边 (欲被处理的字节集, i))返回 (欲被处理的字节集)
|
评分
-
查看全部评分
|