|
- .版本 2
- .支持库 spec
- .程序集 易文件粉碎机
- .程序集变量 程序标题, 文本型
- .子程序 _启动子程序, 整数型, , 本子程序在程序启动后最先执行
- .局部变量 文件列表, 文本型, , "0"
- 取命令行 (文件列表)
- 程序标题 = “易文件粉碎机”
- .如果 (取数组成员数 (文件列表) = 0)
- 文件列表 = 多文件对话框 (程序标题, , , , , ) ' 双击运行
- .否则
- 调试输出 (文件列表) ' 拖放运行
- .如果结束
- 粉碎多文件 (文件列表)
- 返回 (0) ' 可以根据您的需要返回任意数值
- .子程序 粉碎多文件
- .参数 文件名, 文本型, 数组
- .局部变量 计数, 整数型
- .局部变量 文件数, 整数型
- .局部变量 成功数, 整数型
- .局部变量 失败数, 整数型
- .局部变量 时间, 整数型
- 文件数 = 取数组成员数 (文件名)
- .如果真 (文件数 = 0)
- 返回 ()
- .如果真结束
- .如果真 (信息框 (“粉碎后不可恢复,确定粉碎” + 到文本 (文件数) + “个文件(目录)?”, 33, 程序标题, ) = 1) ' 取消粉碎
- 返回 ()
- .如果真结束
- 时间 = 取启动时间 ()
- .计次循环首 (文件数, 计数)
- .如果 (粉碎文件 (文件名 [计数]))
- 成功数 = 成功数 + 1
- .否则
- 失败数 = 失败数 + 1
- .如果结束
- .计次循环尾 ()
- 时间 = 四舍五入 ((取启动时间 () - 时间) ÷ 1000, 0)
- 信息框 (“文件粉碎任务完成! 成功” + 到文本 (成功数) + “个,失败” + 到文本 (失败数) + “个,耗时” + 到文本 (时间) + “秒。”, 64, 程序标题, )
- 返回 ()
- .子程序 粉碎文件, 逻辑型
- .参数 文件名, 文本型
- .局部变量 尺寸, 整数型
- .局部变量 命令, 文本型
- .如果真 (文件是否存在 (文件名) = 假)
- 返回 (假)
- .如果真结束
- 尺寸 = 取目录尺寸 (文件名)
- .如果真 ((删除目录 (文件名) 或 删除文件 (文件名)) = 假)
- 返回 (假)
- .如果真结束
- 命令 = “fsutil file createnew @|A@ |B”
- 命令 = 子文本替换 (命令, “@”, #引号, , , 真)
- 命令 = 子文本替换 (命令, “|A”, 文件名, , , 真)
- .如果真 (尺寸 ≤ 1048576)
- 尺寸 = 1048576
- .如果真结束
- 命令 = 子文本替换 (命令, “|B”, 到文本 (尺寸), , , 真)
- .如果真 (运行 (命令, 真, 1) = 假)
- 信息框 (“fsutil 命令运行错误!”, 16, 程序标题, )
- 结束 ()
- .如果真结束
- .如果真 (删除文件 (文件名) = 假)
- 返回 (假)
- .如果真结束
- 返回 (真)
- .子程序 取目录尺寸, 长整数型
- .参数 目录名, 文本型
- .局部变量 文件表, 文本型
- .局部变量 文件数组表, 文本型, , "0"
- .局部变量 计数, 整数型
- .局部变量 尺寸, 整数型
- .局部变量 总尺寸, 整数型
- .局部变量 文件数, 整数型
- 目录名 = 子文本替换 (目录名, “/”, “\”, , , 真)
- .如果真 (取文本右边 (目录名, 1) = “\”)
- 目录名 = 取文本左边 (目录名, 取文本长度 (目录名) - 1)
- .如果真结束
- .如果 (寻找文本 (目录名, 字符 (32), , 假) = -1)
- 运行控制台程序 (“cmd /c dir /b /s ” + 控制台文本转义 (目录名), 文件表, , )
- .否则
- 运行控制台程序 (“cmd /c dir /b /s ” + #引号 + 控制台文本转义 (目录名) + #引号, 文件表, , )
- .如果结束
- 文件数组表 = 分割文本 (文件表, #换行符, )
- 文件数 = 取数组成员数 (文件数组表)
- .如果真 (文件数 = 0)
- 尺寸 = 取文件尺寸 (目录名)
- .如果真 (尺寸 ≤ 0)
- 尺寸 = 0
- .如果真结束
- 返回 (尺寸)
- .如果真结束
- .计次循环首 (文件数, 计数)
- 尺寸 = 取文件尺寸 (文件数组表 [计数])
- .如果真 (尺寸 ≥ 0)
- 总尺寸 = 总尺寸 + 尺寸
- .如果真结束
- .计次循环尾 ()
- 返回 (总尺寸)
- .子程序 控制台文本转义, 文本型
- .参数 文本, 文本型
- .局部变量 计数, 整数型
- .局部变量 单字符, 文本型
- .局部变量 文本2, 文本型
- 文本2 = 文本
- .计次循环首 (7, 计数)
- 单字符 = 取文本中间 (“^%&*<>|”, 计数, 1)
- 文本2 = 子文本替换 (文本2, 单字符, “^” + 单字符, , , 真)
- .计次循环尾 ()
- 返回 (文本2)
复制代码
|
|