无法使用批处理脚本写入.vbs脚本

时间:2020-10-24 04:57:06

标签: batch-file vbscript

我正在使用批处理脚本来创建并写入.vbs文件。 该文件名为invisible.vbs。

这是用于创建和编写.vbs脚本的批处理脚本。

import java.text.SimpleDateFormat;
import java.util.Locale;

public class HelloWorld{

     public static void main(String []args) throws Exception {
         final SimpleDateFormat parser = new SimpleDateFormat("hh:mm aa", Locale.ENGLISH);
         final SimpleDateFormat printer = new SimpleDateFormat("HH:mm");
         System.out.println(printer.format(parser.parse("4:07 pm")));
     }
}

第一行代码运行良好且invisible.vbs已创建,但脚本未将第二行代码写入invisible.vbs,而是尝试像运行代码一样运行它。

我用引号

echo.>"C:\Users\LinFamily\Desktop\invisible.vbs"
echo CreateObject("Wscript.Shell").Run &WScript.Arguments(0)&,0,False >> invisible.vbs

并且代码被写入invisible.vbs中,但是引号也被写入invisible.vbs中,这不是我想要的。如果有引号,则Invisible.vbs将不起作用。

我尝试使用括号,但这也不起作用。

有没有将代码写到invisble.vbs的末尾没有引号?感谢您的帮助!

2 个答案:

答案 0 :(得分:1)

特殊字符)和&需要转义^。

rem [ write all lines in one operation using parenthesis ]
> "invisible.vbs" (
echo(CreateObject("Wscript.Shell"^).Run ^&WScript.Arguments(0^)^&,0,False
)

答案 1 :(得分:1)

您的代码中有“&”号,什么也没做,在VBScript的任何标准中都没有。简而言之,伏都教密码。这是非法的VBScript代码

“&”号和重定向在其他命令之前由CMD exe评估。因此它不会写它们。

所以代码不起作用的两个原因。

如果您尝试运行该VBScript,则说第1行字符35(test4.exe)语法错误

相关问题