如何延迟VB脚本?

时间:2015-01-22 10:27:46

标签: visual-studio-2010 vbscript delay setup-project wsh

如何延迟Vb脚本? 以下代码对我不起作用:

wscript.sleep 1000

Delay 10

Sub Delay( seconds )
    Dim wshShell, strCmd
    Set wshShell = CreateObject( "Wscript.Shell" )
    strCmd = "%COMSPEC% /C (PING -n " & ( seconds + 1 ) & " 127.0.0.1 >NUL 2>&1 || PING -n " & seconds & " ::1 >NUL 2>&1)"
    wshShell.Run strCmd, 0, 1
    Set wshShell = Nothing
End Sub

dim oshell 
set oshell = CreateObject("Wscript.Shell") 


obshell.run "%windir%\system32\rundll32.exe kernel32.dll Sleep 5000" 

2 个答案:

答案 0 :(得分:3)

第一个语句WScript.Sleep 1000 有效。您的错误必须在其他地方。

<强>证明

在桌面上创建一个test.vbs文件:

WScript.Echo Time()
WScript.Sleep 2000
WScript.Echo Time()

运行如下:

C:\Users\...\Desktop>cscript test.vbs
Microsoft (R) Windows Script Host Version 5.8
Copyright (C) Microsoft Corporation. All rights reserved.

11:31:34
11:31:36

请注意两个不同之处。 (如果此完全脚本在您的PC上产生不同的结果,请在评论中说明并接受我的道歉。)

答案 1 :(得分:1)

您无法在VB脚本自定义操作中使用WScript对象。在Windows脚本宿主中运行WScript对象时,脚本环境提供了WScript对象,并且该对象不在MSI环境中。这意味着没有办法做出延迟,所以也许你可以描述一下延迟可能解决的问题。