翻译过来还是出错
- 功能 DeleteFolderByVBS(P_FolderPath="rc:", P_Delay=500)
- P_FolderPath = 转字符型(P_FolderPath)
- P_Delay = 转整型(P_Delay)
- 变量 局_路径模式 = "", 局_上级目录 = "", 局_计次 = 0, 局_VBS文件路径 = "", 局_文件句柄 = 0, 局_VBS脚本内容 = ""
- 局_路径模式 = 字符串截取(P_FolderPath, 0, 2)
- 如果(局_路径模式 == ".\")
- P_FolderPath = 系统获取进程路径() & 字符串移除(P_FolderPath, 2, 真)
- //这里‘.\\’路径区别tc的路径,tc表示程序进程的运行路径,而这里是程序所在目录,虽然大部分情况下没多少区别。
- 否则
- 局_路径模式 = 字符串截取(P_FolderPath, 0, 3)
- 如果(局_路径模式 == "rc:")
- 如果(字符串截取(P_FolderPath, 3, 4) == "\")
- P_FolderPath = 字符串移除(P_FolderPath, 4, 真)
- 否则
- P_FolderPath = 字符串移除(P_FolderPath, 3, 真)
- 结束
- P_FolderPath = 获取资源路径("rc:") & P_FolderPath
- 结束
- 结束
- 如果(字符串长度(P_FolderPath) < 4)
- 返回 假
- 结束
- 如果(字符串截取(字符串倒序(P_FolderPath), 0, 1) == "\")
- P_FolderPath = 字符串移除(P_FolderPath, 1, 假)
- 结束
- 如果(文件是否存在(P_FolderPath & "\") == 假)
- 返回 假
- 结束
- 局_上级目录 = 字符串移除(P_FolderPath, 字符串查找字符(字符串倒序(P_FolderPath), "\"), 假)
- 如果(文件是否存在(局_上级目录) == 假)
- 返回 假
- 结束
- 遍历(局_计次 = 0; 局_计次 < 10; 局_计次++)
- 局_VBS文件路径 = 局_上级目录 & 字符串格式化("%x", 随机数(#100000, #FFFFFF)) & ".vbs"
- 如果(文件是否存在(局_VBS文件路径) == 假)
- 跳出
- 结束
- 结束
- 如果(局_计次 >= 10)
- 返回 假
- 结束
- 局_文件句柄 = 文件创建(局_VBS文件路径, "读写")
- 如果(局_文件句柄 == 0)
- 返回 假
- 结束
- 如果(P_Delay <= 0)
- 局_VBS脚本内容 = "On Error Resume Next\r\nSet FSO = CreateObject("Scripting.FileSystemObject")\r\nFSO.DeleteFile "" & P_FolderPath & "\\*.*", True\r\nFSO.DeleteFolder ""& P_FolderPath & "", True\r\nFSO.DeleteFile "" & 局_VBS文件路径 & "", True\r\nSet FSO = Nothing"
- 否则
- 局_VBS脚本内容 = "On Error Resume Next\r\nWScript.Sleep " & P_Delay & "\r\nSet FSO = CreateObject("Scripting.FileSystemObject")\r\nFSO.DeleteFile "" & P_FolderPath & "\\*.*", True\r\nFSO.DeleteFolder ""& P_FolderPath & "", True\r\nFSO.DeleteFile "" & 局_VBS文件路径 & "", True\r\nSet FSO = Nothing"
- 结束
- 如果(文件写入字符(局_文件句柄, 局_VBS脚本内容) == 假)
- 文件关闭(局_文件句柄)
- 返回 假
- 结束
- 如果(文件关闭(局_文件句柄) == 假)
- 文件关闭(局_文件句柄)
- 返回 假
- 结束
- 如果(命令(局_VBS文件路径, 假) == 假)
- 返回 假
- 结束
- 返回 真
- 结束
复制代码 |