从批处理文件创建 vbs 文件



这是 vbs 文件:

set w = CreateObject^("WScript.Shell"^)
W.Run chr^(34^) & "explore.bat" & chr^(34^), 0
echo set w= Nothing

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

我尝试了这篇文章中的一个建议...到目前为止,这是我的蝙蝠文件(它应该制作 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 文件。

可能弄错了(我对此很陌生(,寻求任何建议。


我也尝试使用此建议,但一无所获(因为它是多行(

你忘了转义"&"符号。以下是已解决的版本

(
 echo set w = CreateObject^("WScript.Shell"^)
 echo W.Run chr^(34^) ^& "explore.bat" ^& chr^(34^), 0
 echo set w= Nothing
)>"1623.vbs"

虽然问题没有逃脱与号,但您也可以通过避免使用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,以可视化为什么会这样工作(。

最新更新