0

我正在尝试编写一个快速批处理文件。它将获取命令的结果,在其周围添加一些额外的文本和引号,然后将其放入一个新文件中。问题是我正在运行的命令的结果包含一个新行。这是命令:

p4 changelists -m 1 -t //depot/...> %FILENAME%

p4命令的输出在其末尾有一个换行符。我要放入的文件需要在该命令的输出周围加上引号,但是命令中包含换行符的事实意味着“结束引号”出现在文件的新行中,这不会为我正在做的事情工作。

我已经尝试将该命令的输出写入文件并将其读回,并尝试FINDSTR在包含输出的文件上运行,但我似乎总是取回愚蠢的尾随空格。我什至尝试在文件中插入退格,但这只是将退格字符放入文件中,而不是实际执行退格...

对此有什么可做的吗?

4

1 回答 1

1

我不是 perl 向导,但以下似乎可行:

p4 changelists -m 1 -t //depot/...| perl -p -e "s/^/\042/;s/$/\042/"

查看Strawberry Perl,它提供了 Windows 版本的 Perl。

在解决此类问题时,我总是在查看我的 Unix 工具,即使在 Windows 下也是如此。sed 和 gawk 也将带您到那里,请查看msysgit以获得可以在 Windows 上运行的一个很好的 Unix 工具包。

于 2012-12-20T21:02:25.837 回答