首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在VBScript中动态设置延迟

问如何在VBScript中动态设置延迟
EN

Stack Overflow用户
提问于 2013-05-07 01:41:17
回答 2查看 1.1K关注 0票数 0

我有一个批处理脚本,将写入.vbs文件的命令,并在结束时执行它。VBScript的任务是压缩文件并删除原始文件。代码如下:

代码语言:javascript
复制
FOR %%c in (%1%filename*.*) DO ( 
REM zip file which is not of current date
ECHO "%%c"|FINDSTR "%CurrentDate%" >nul
IF ERRORLEVEL 1 (
echo Option Explicit >> zipIt.vbs
echo Dim FileToZip, Result >> zipIt.vbs
echo Dim oShell >> zipIt.vbs
echo Dim file >> zipIt.vbs
echo Dim oFileSys >> zipIt.vbs
echo Dim winShell >> zipIt.vbs
echo FileToZip = "%%c" >> zipIt.vbs
echo Result = "%%c.zip" >> zipIt.vbs
echo Set oShell = CreateObject("WScript.Shell"^) >> zipIt.vbs
echo Set oFileSys = CreateObject("Scripting.FileSystemObject"^) >> zipIt.vbs
echo Set file = oFileSys.CreateTextFile(Result, True^) >> zipIt.vbs
echo file.Write "PK" ^& Chr(5^) ^& Chr(6^) ^& String(18, 0^) >> zipIt.vbs
echo file.Close >> zipIt.vbs
echo Set file = nothing >> zipIt.vbs
echo set winShell = createObject("shell.application"^) >> zipIt.vbs
Timeout /T 10
echo winShell.namespace(Result^).CopyHere FileToZip >> zipIt.vbs
Timeout /T 10
echo wScript.Sleep(30000^) >> zipIt.vbs

REM Delete the file
echo oFileSys.DeleteFile FileToZip >> zipIt.vbs
CScript zipIt.vbs

要压缩的文件大小不一。因此,如果不为较小的文件等待30秒,那就太好了。

代码语言:javascript
复制
echo winShell.namespace(Result^).CopyHere FileToZip >> zipIt.vbs
Timeout /T 10
echo wScript.Sleep(30000^) >> zipIt.vbs

REM Delete the file
echo oFileSys.DeleteFile FileToZip >> zipIt.vbs

CopyHere方法需要睡眠时间将文件复制到创建的空zip文件中。

例如,如果压缩一个500MB大小的文件需要30秒,那么当文件大小为100MB时,我不希望脚本等待30秒。

我们可以让脚本等待压缩文件所需的时间吗?VBScript中有什么命令或函数吗?

感谢你的帮助。

EN

回答 2

Stack Overflow用户

发布于 2013-05-07 02:46:30

您不需要休眠,CScript zipIt.vbs将一直运行,直到所有文件都被压缩。

但是,如果您确实遇到了计时问题,我建议您从vbScript中取出.DeleteFile,然后在批处理脚本中使用del实用程序执行此操作。

另一种解决方案是将批处理文件更改为一个大的vbScript。

票数 0
EN

Stack Overflow用户

发布于 2013-05-08 04:24:59

如果你使用带有-m选项的winrar,你需要一个批处理或一个vbs,它会将压缩阶段结束时的所有文件移动到拱门(这样会破坏原始文件)。我知道winrar的原则是必须付费的,而且它的性能经常被像7zip这样的现代zip实现所超越,但它仍然是最好的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16404156

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档