从批处理文件创建vbs文件

时间:2018-03-14 21:51:29

标签: batch-file vbscript

这是vbs文件:

set w = CreateObject^("WScript.Shell"^)

W.Run chr^(34^) & "explore.bat" & chr^(34^), 0

echo set w= Nothing

(它将运行批处理文件,但隐藏在后台)

我尝试了this post的建议...这是我的bat文件到目前为止(假设制作vbs文件 - 打开它):

(
 echo set w = CreateObject^("WScript.Shell"^)

 echo W.Run chr^(34^) & "explore.bat" & chr^(34^), 0

 echo set w= Nothing
)>"1623.vbs"

这不起作用,它最终打开explore.bat(它不应该,它应该只是制作vbs文件)。我想制作vbs文件。

我可能有这个错误(我对此很新),寻找任何建议。

我也尝试使用this advice并且没有到达任何地方(因为它是多行)

2 个答案:

答案 0 :(得分:3)

你忘了逃避“&”符号。以下是已解决的版本

(
 echo set w = CreateObject^("WScript.Shell"^)

 echo W.Run chr^(34^) ^& "explore.bat" ^& chr^(34^), 0

 echo set w= Nothing
)>"1623.vbs"

答案 1 :(得分:2)

虽然问题不是逃避&符号,但你也可以通过避免使用Chr(34)开头来完全避免它:

(
 echo set w = CreateObject^("WScript.Shell"^)

 echo W.Run """explore.bat""", 0

 echo set w= Nothing
)>"1623.vbs"

您的Run命令会将 explore.bat 作为双引号("explore.bat")传递。

基本上,您引用引号,就像引用字符串a:"a"一样。如果您要使用双引号替换 a ,那么您将拥有"""(基本上只是想象中间的引号为字母来自前一个示例的a,可视化其工作原理)