我想从.bat文件运行第三方.exe文件而没有可见的命令提示符

时间:2017-01-24 06:18:42

标签: windows batch-file vbscript

首先,我创建了VBScript来运行没有可见命令提示符的批处理文件。

以下是代码:

Set WshShell = CreateObject("WScript.Shell" ) 
WshShell.Run Chr(34) & ("D:\Intouch_Printer_SW\spool12\spltotext.bat") & Chr(34), 0 
Set WshShell = Nothing 

以下是我的批处理文件代码,用于运行第三方.exe文件。

for %%f in (C:\WINDOWS\system32\spool\PRINTERS\*.SPL) do (
    echo %%~nf
    start "" D:\Intouch_Printer_SW\spool12\spool.exe "C:\WINDOWS\system32\spool\PRINTERS\%%~nf.SPL" "Intouch Printer"
)

每当我运行我的.vbs代码时,会弹出一个控制台窗口,我想在没有可见命令提示符的情况下完成所有操作。

我认为由于这个片段我正在获得一个黑色的窗口:

start "" D:\Intouch_Printer_SW\spool12\spool.exe "C:\WINDOWS\system32\spool\PRINTERS\%%~nf.SPL" "Intouch Printer"

1 个答案:

答案 0 :(得分:1)

start在新窗口中打开命令。运行控制台应用程序不是必需的,因此您只需删除它:

for %%f in (C:\WINDOWS\system32\spool\PRINTERS\*.SPL) do (
    echo %%~nf
    D:\Intouch_Printer_SW\spool12\spool.exe "C:\WINDOWS\system32\spool\PRINTERS\%%~nf.SPL" "Intouch Printer"
)

此外,我建议从VBScript(第3个参数到Run方法设置为True)同步运行批处理脚本,以避免任何人修改VBScript时出现意外的副作用。

Set WshShell = CreateObject("WScript.Shell")
WshShell.Run """D:\Intouch_Printer_SW\spool12\spltotext.bat""", 0, True