【问题标题】:VBscript ends without user inputVBscript 在没有用户输入的情况下结束
【发布时间】:2014-01-31 22:23:17
【问题描述】:

我在使用 Windows 7 计算机上的 VB 脚本时遇到问题。当我尝试运行任何 *.vbs 文件时,它会运行脚本但不会暂停用户输入。下面的代码会运行,但不会因为 echo 语句而暂停。在其他计算机上,它将暂停以供用户按下确定按钮。我需要在不允许暂停的计算机上进行哪些更改?

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objShell = CreateObject("Shell.Application")

strPath = "c:\temp"
Set objFolder = objFSO.GetFolder(strPath)
Wscript.Echo objFolder.Size

Input = InputBox("Enter Project Number: ")
Wscript.Echo Input

【问题讨论】:

    标签: vbscript


    【解决方案1】:

    将您的 VBScript 映射到 wscript.exe 而不是 cscript.exe。

    右键单击->打开方式...->确保选中“始终使用所选程序打开此类文件”复选框->单击“浏览...”按钮->“C:\Windows \System32\wscript.exe" -> 打开 -> 确定

    【讨论】:

    • 窗口仍然关闭。
    • 您看到一个黑色的窗口短暂打开了吗?然后它仍在使用 cscript - 将它与 wscript 关联时出了点问题。
    • @GreyHippo 没有“wscript 主机窗口”之类的东西。 for /f "tokens=2 delims==" %t in ('assoc .vbs') do @ftype %t 的输出是什么。
    • @GreyHippo 您是否尝试运行 Ansgar Wiechers 给您的命令?确定问题很重要。
    • @GreyHippo 我建议的命令不会在任何地方使用wscript.exe,它也不会打开任何额外的窗口/弹出窗口。要么你做错了什么,要么你的系统严重受损,在这种情况下,你应该格式化并重新安装。仅凭您提供的少量信息,我只能告诉您这些。
    【解决方案2】:

    由于映射到 CScript 是一个很好的建议并且应该可以工作,因此您可以在脚本中使用 MsgBox statement。如果您在 CScript 或 WScript 下运行,这将独立显示一个消息框:

    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set objShell = CreateObject("Shell.Application")
    
    strPath = "c:\temp"
    Set objFolder = objFSO.GetFolder(strPath)
    MsgBox objFolder.Size
    

    【讨论】:

    • 如果需要使用输入框怎么办?
    猜你喜欢
    • 2012-04-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多