2008-12-16 91 views
1

我正在使用WinRAR SFX模块创建安装,并使用其预设选项运行一些初步测试。由于wscript只能接受vbs文件,而不是脚本本身,因此我首先运行“cmd/c echo {...脚本代码...}> setup.vbs”,然后运行“wscript setup”。 VBS”。第一个cmd命令的运行会打开一个简短的命令窗口,我真的很想避免这种情况。我想使用RunDll32来编写这些数据,但找不到任何合适的API使用。如何在没有命令提示符窗口的情况下创建文件

任何人都可以想到一种方法来绕过它,并创建一个小的VBScript文本小文件,而无需打开命令提示符窗口?

非常感谢,

splintor

回答

2

是在一个文件中的脚本代码了吗?如果是这样,

可以使用TYPE命令脚本发送到文件:

TYPE [script_file] > setup.vbs 

或复制的脚本文件:

COPY [script_file] setup.vbs 

如果脚本代码在体内您的cmd,您可以使用START命令在没有窗口的情况下运行cmd/b标志):

START /B cmd /c echo {...script code...} > setup.vbs 
+0

类型,复制和启动都是cmd的内部命令,所以cmd必须先运行,这意味着命令提示符窗口将会显示:( – splintor 2008-12-16 15:14:37

+0

你怎么第一次运行“cmd/c echo {...脚本代码。 ...}> setup.vbs“从你的标签看起来好像你是通过命令行或者批处理脚本来做这件事的。 – 2008-12-16 17:08:18

1

而不是使用cmd /c echo {...script code...} > setup.vbs作为预设步骤,也许你可以打包一个VBscript和你的安装程序,进行初步测试并创建setup.vbs,然后为你调用setup.vbs。你必须把它放在WinRAR脚本的设置部分。

您可以从VBScript中调用其他的VBScript这样的:

Set WSHShell = CreateObject("WScript.Shell") 
WSHShell.Run "wscript d:\setup.vbs, ,True 

的运行命令的语法见this MSDN link

相关问题