VBScript执行成功后如何关闭CMD提示窗口

Posted

技术标签:

【中文标题】VBScript执行成功后如何关闭CMD提示窗口【英文标题】:How to Close the CMD prompt window after successfull execution of VBScript 【发布时间】:2016-04-22 09:40:56 【问题描述】:

我正在调用另一个 VBScript 以以管理员身份运行。 以下是 Invoker VBScript 代码

Set objShell = CreateObject("Shell.Application")
objShell.ShellExecute "cscript", "C:\Temp\XYZ.vbs", "", "runas", 0
Wscript.Quit 1

下面是XYZ.vbs代码

On Error Resume Next 

Dim strComputerRole, strDomain, strComputer, strText, strText2
Dim arrServiceList, strNextLine
Dim objFile, objFile2, strFile, strSysDrive, strTempDir, strSQLcommand

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objShell = wscript.createObject("Wscript.Shell")
Set colProcEnvVars = objShell.Environment("Process")
Set colSystemEnvVars = objShell.Environment("System")

strComputer = "."

Set objWMIService = GetObject("winmgmts:" _
    & "impersonationLevel=impersonate!\\" & strComputer & "\root\cimv2")
strSysDrive = colProcEnvVars("systemdrive")
strTempDir = colProcEnvVars("SY0")

Const ForReading = 1
Const ForWriting = 2
Const ForAppending = 8


If strSysDrive = "" Then
    strSysDrive = "C:"
End If

If strTempDir = "" Then
    strTempDir = strSysDrive & "\Temp"
End If

If Not objFSO.FolderExists(strTempDir) Then
    objFSO.CreateFolder(strTempDir)
End If  
strFile = strSysDrive & "\temp\XYZ.txt"
strSQLcommand="osql -o "& strFile & " -d HOST -E -Q ""************Select Query******** """
Set objExecObject = objShell.Exec(strSQLcommand)

以下 OSQL cmd 成功执行。但执行后,我打开了这个 CMD 提示窗口。 成功执行后有没有办法关闭命令提示符?

【问题讨论】:

【参考方案1】:

您在 cmd.exe 之后指定了 /K,表示“执行命令并保持命令窗口打开”。 改用/C,意思是“执行命令然后关闭命令窗口”。

如果执行“cmd.exe /?”您将获得所有参数及其说明的列表。

【讨论】:

我发现/K "my command && exit" 很有用,作为一种关闭窗口的方法仅当命令成功时。即,如果 %errorlevel% 为 0 - 请参阅 ***.com/a/14692169/254364

以上是关于VBScript执行成功后如何关闭CMD提示窗口的主要内容,如果未能解决你的问题,请参考以下文章

求教:运行bat文件后如何让cmd窗口自动关闭?

如何使用Java执行cmd命令

bat 脚本执行cmd命令代码实例 执行后不关闭窗口 可以继续输入方法

bat 脚本执行cmd命令代码实例 执行后不关闭窗口 可以继续输入方法

bat 脚本执行cmd命令代码实例 执行后不关闭窗口 可以继续输入方法

如何在后台找到运行 VBScript 的文件位置? [关闭]