Batch file 要创建并写入VBScript文件的批处理文件
我正在创建一个批处理脚本,该脚本创建并写入VBScript。我正在这样写文件:Batch file 要创建并写入VBScript文件的批处理文件,batch-file,vbscript,Batch File,Vbscript,我正在创建一个批处理脚本,该脚本创建并写入VBScript。我正在这样写文件: echo (code for vbscript) >> [name of vbscript].vbs 然而,代码中有一部分让我感到不安: echo If Len(m) > 1 then >> sys.vbs 由于代码本身有一个符号,批处理文件将其解释为我试图写入VBScript并切断代码,但事实并非如此。我想让代码说如果Len(m)>1那么,但它只是说如果Len(m)那么 我已经尝试
echo (code for vbscript) >> [name of vbscript].vbs
然而,代码中有一部分让我感到不安:
echo If Len(m) > 1 then >> sys.vbs
由于代码本身有一个
符号,批处理文件将其解释为我试图写入VBScript并切断代码,但事实并非如此。我想让代码说如果Len(m)>1那么
,但它只是说如果Len(m)那么
我已经尝试过通过修改代码来解决这个问题:
echo if NOT Len(m) < 1 then >> sys.vbs
echo如果不是Len(m)<1则>>sys.vbs
但这也不起作用。如果我这样做,那么它将完全忽略整行代码
很抱歉,如果我没有很好地解释这个问题,它很难描述。
和>是成批的。正如注释中已经指出的,如果要在输出文件中以文字字符的形式回显它们,则需要使用插入符号(^
)对它们进行转义:
echo If Len(m) ^> 1 Then >> sys.vbs
在回显字符串周围使用双引号在这种情况下不起作用,因为echo
在输出中包含双引号
然而,我同意你可能想重新考虑你的方法。从批处理文件动态生成VBScript通常不是解决手头任何问题的好方法。用插入符号退出
。根据该echo
语句是否存在于括号内,您可能还需要对括号进行转义echo if Len^(m^)^>1然后>>sys.vbs
编写编写VBScript的BAT脚本听起来像是一种非常迂回的做事方式。你真的确定这是必要的吗?你真的确定这样做是必要的吗?我很难想象一个问题会使这种方法成为最佳选择。也许你最好花时间考虑一个更好的方法,而不是这些笨拙的变通方法。