【发布时间】:2010-10-22 17:21:42
【问题描述】:
我正在创建一个 Windows 批处理文件,但我必须 ECHO 一个大的复杂字符串,所以我必须在两端加上双引号。问题是引号也被回显到我正在写入的文件中。你如何回显这样的字符串并去掉引号?
更新:
我在过去的两天里一直在努力,终于能够将一些东西拼凑在一起。理查德的回答可以去掉引号,但即使我将 ECHO 放入子例程并直接输出字符串,Windows 仍然挂断在字符串中的字符上。我会接受理查德的回答,因为它回答了所提出的问题。
我最终使用了 Greg 的 sed 解决方案,但由于 sed/windows 的错误/功能而不得不对其进行修改(它没有提供文档并没有帮助)。在 Windows 中使用 sed 有一些注意事项:你必须使用双引号而不是单引号,你不能直接转义字符串中的双引号,你必须结束引用字符串,使用 ^ (so ^" ) 然后 beqin 引用下一节。此外,有人指出,如果您将输入通过管道传输到 sed,则字符串中存在管道错误(我没有得到验证,因为在我的最终解决方案中,我刚刚发现一种不在字符串中间包含所有引号的方法,并且只是删除了所有引号,我永远无法自行删除 endquote。)感谢所有帮助。
【问题讨论】:
标签: windows batch-file sed quotes echo