我想将以下代码设置为是/否,甚至是10秒的定时“是”(默认)。我环顾了一下,找到了一些答案,但是很遗憾,我无法使用测试环境,因此无法快速获得结果。
我的vb是:
Set objShell = CreateObject("WScript.Shell")
cmd = "%comspec% /c diskpart /s X:\cleandisk.txt"
objShell.Run cmd,1,1 ' Run the command in a window and wait for a return
我希望能够提示您运行或跳过此操作。上下文是MDT环境。目的是在成像之前擦拭磁盘。不幸的是,它一直在运行,当我去捕获图像时,它会擦拭驱动器(哎呀)。因此,不要过度限制有限的资源,而是简单地选择是否运行是我的最佳选择。
作为一种选择,我想在默认的“是”答案上设置10秒的倒计时计时器。
正如我前面提到的,我并不反对自己弄清楚它,但是我在工作中有有限的资源(vbs编辑,测试环境等)。
答案 0 :(得分:1)
您可以使用Popup
方法。
Dim objShell: Set objShell = CreateObject("WScript.Shell")
Select Case objShell.Popup("Run this? Will autorun in 10 seconds!", 10, "Title", 1)
Case -1
'Timed Out
Case 1
'OK Pressed
Case 2
'Cancel Pressed
End Select
-1
值:MsgBox超时。您可以将其与案例1结合使用,因为您希望它们执行相同的操作(见下文)1
值:用户按下“确定”按钮2
值:用户按下“取消”按钮由于您要使用与用户按“确定”相同的方式来处理超时,因此可以将两个值组合为一种情况:
Dim objShell: Set objShell = CreateObject("WScript.Shell")
' This is the timeout ↓↓
Select Case objShell.Popup("Run this? Will autorun in 10 seconds!", 10, "Title", 1)
Case -1, 1
cmd = "%comspec% /c diskpart /s X:\cleandisk.txt"
objShell.Run cmd,1,1
Case 2
' Do nothing
End Select