vbscript - vbscript删除包含带有进度条的多个文件的文件夹

标签 vbscript

希望它们可能是一种可视化删除多个文件的进度的方法,我有一个应用程序可以在完成时运行清理,删除的目录几乎为3GB,因此最好有一个类似于以下内容的进度条弹出窗口显示您是否使用的

Const FOF_CREATEPROGRESSDLG = &H0&

strTargetFolder = "C:\OfficeTemp" 

Set oShell = CreateObject("Shell.Application")
Set objFolder = oShell.NameSpace(strTargetFolder) 

objFolder.CopyHere "OfficeTemp\*.*", FOF_CREATEPROGRESSDLG


应该可以使用SHFileOperation来实现,但是我只看到在C ++中使用它的示例,有人用VBScript完成吗?

C++ Win32 API Delete file with progress bar

最佳答案

我的建议是,如果您想保持脚本的敏捷性,那就不要这样做。
删除所需的时间不是GB大小,因此对于几个大文件来说,这是不合适的,因为在启动gui并运行并显示进度之前,可以完成文件删除。您只需要显示文件名即可删除。

如果有很多小文件需要更长的时间,进度条会更合适,那么只有您需要在IE或其他可以编写脚本的浏览器中进行操作,结果永远不会很可靠也不美观。我见过ActiveX对象提供了这样的进度条,但是即使您可以使用它们,也会遇到问题。您需要事先知道要删除多少个文件,并将该过程分为几个小步骤,并将进度显示为总数的百分比。
仅此一项就可能需要删除本身,vbscript处理文件的速度非常慢。
在此处显示文件肯定会减慢该过程,您可以显示类似

删除了1000个文件。
已删除2000个文件。

以便用户知道发生了什么事。
删除映射的最快方法是对OS进行脱壳处理,然后等待过程结束并从此处继续执行脚本。

对于这些方法中的一些我有示例,很抱歉我无法给您,并且很容易解决所有问题。

关于vbscript - vbscript删除包含带有进度条的多个文件的文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10239253/

相关文章:

mysql - sql order by rand() 最高值显示更频繁

encoding - CDO.Message 编码问题

string - 如何打乱字符串中的字符?

windows - 从 HKEY_USERS 值获取用户名

javascript - 这个正则表达式(VBScript/JavaScript 风格)有什么问题?

c# - 将 VBS 代码转换为 C#

使用 vbscript 检查 Windows 更新

browser - 如何检测 Firefox 用户代理?

vb.net - 获取当前目录并在 vbscript 中运行文件?

vbscript - 加载动态列表框会产生重复的条目