我正在使用批处理脚本来创建并写入.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的末尾没有引号?感谢您的帮助!
答案 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
)语法错误。