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