我正在尝试通过批处理文件创建vbs。但是我有一条线包含一个物体。批处理文件无法将闭括号写入vbs,导致运行vbs时出错。
批处理文件代码为:
echo Set oShell = CreateObject("WScript.Shell") >> zipIt.vbs
输出:
echo Set oShell = CreateObject("WScript.Shell"
) 1>>zipIt.vbs
The process cannot access the file because it is being used by another process.
vbs zipIt.vbs
Set oShell = CreateObject("WScript.Shell"
vbs输出: Microsoft(R)Windows Script Host Version 5.8 版权所有(C)Microsoft Corporation。保留所有权利。
C:\ Users \ arvind \ Desktop \ zip \ zipIt.vbs(1,42)Microsoft VBScript编译器 ror:预计')'
答案 0 :(得分:2)
试试这个:
echo Set oShell = CreateObject("WScript.Shell"^) >> zipIt.vbs
答案 1 :(得分:1)
像恩多罗说:
试试这个:
echo Set oShell = CreateObject("WScript.Shell"^) >> zipIt.vbs
您的错误消息表明,您的行是位于括号内的行的一部分 因此,关闭括号(也在echo语句中)会出现问题 您可以通过转义右括号来避免此问题。
形成你的评论我建议尝试这样的事情。
它只对整个块使用一个重定向,它更快,更可靠。
(
for %%a in (dummy) DO (
echo Set oShell = CreateObject("WScript.Shell"^)
echo oShell.someMethod
)
) > zipIt.vbs
答案 2 :(得分:0)
在回显任何代码时,应始终帮助批处理解释器提供文本和批处理代码。因此,请始终使用尖号“ ^”转义括号,越来越少的符号以及类似的可能的批处理代码部分。因此,它们被解释为普通文本。