【问题标题】:How to display ECHO from VBScript in Command Prompt window with command line如何使用命令行在命令提示符窗口中显示来自 VBScript 的 ECHO
【发布时间】:2016-10-20 09:49:29
【问题描述】:

在批处理文件中我有以下命令:

WScript ABC.vbs

ABC.vbs:

Set WshShell = WScript.CreateObject("WScript.Shell")
WScript.Echo "Hello"

当我运行批处理文件时,会弹出一条带有文本“Hello”的消息。但我想要的是在命令提示符窗口中显示消息“Hello”,就像我右键单击 ABC.vbs 然后选择“使用命令提示符打开”一样。

【问题讨论】:

  • wscript 更改为cscript
  • 改用cscript /nologo ABC.vbs
  • 使用这个:Cscript //nologo ABC.vbs 运行它。

标签: vbscript


【解决方案1】:

除了使用cscript.exe ABC.vbs 作为命令行的两个 cmets 之外,还有一个函数可以放入 .vbs 脚本中,以确保它始终与 cscript 引擎一起运行,无论它如何调用。

Sub checkengine
  pcengine = LCase(Mid(WScript.FullName, InstrRev(WScript.FullName,"\")+1))
' BEGIN CALLOUT A
  If Not pcengine="cscript.exe" Then
    Set WshShell = CreateObject("WScript.Shell")
    WshShell.Run "CSCRIPT.EXE """ & WScript.ScriptFullName & """"
    WScript.Quit
  End If
' END CALLOUT A
End Sub

来自这个网站:Forcing VBScript Files to Run in CScript Mode

Call checkengine 放在 vbscript 的开头。如果它检测到 cscript.exe 不在命令行中,它会使用该引擎重新启动脚本。

【讨论】:

    最近更新 更多