写入vbs时,批处理脚本无法创建结束括号

时间:2013-04-15 10:52:19

标签: vbscript batch-file

我正在尝试通过批处理文件创建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:预计')'

3 个答案:

答案 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)

在回显任何代码时,应始终帮助批处理解释器提供文本和批处理代码。因此,请始终使用尖号“ ^”转义括号,越来越少的符号以及类似的可能的批处理代码部分。因此,它们被解释为普通文本。