" \ n"在Windows命令行中无法正确识别

时间:2016-01-14 17:58:39

标签: windows command-line command newline command-prompt

我试图发出一个由于格式限制而需要换行的命令。

我需要将文件提交到CVS存储库,但存储库有一个限制,要求以下列格式包含消息。

Change #: <number>
Description: <description>

用于提交文件的命令是:

cvs commit -m "Change #: <number>\nDescription: <description>" <filename>

然而,当我发出命令时,它似乎没有正确识别换行符,但它没有说我给它一个无效的Change#而没有描述。

如果不尝试发出两个单独的命令,如何识别新行?

2 个答案:

答案 0 :(得分:1)

以这种格式试用powershell:

start-process -FilePath cvs.exe -ArgumentList "commit -m `"Change #:123 `nDescription:my description`""

答案 1 :(得分:0)

我实际上是尝试从Perl脚本调用此命令,并找到了可接受的解决方法。出于某种原因,将命令调用为require 'pg' conn = PG::Connection.open(:dbname => 'test') res = conn.exec_params('SELECT $1 AS a, $2 AS b, $3 AS c', [1, 2, nil]) 命令似乎失败了,但是如果你使用反引号调用它就可以正常工作。

system

有趣的是处理中的这种差异&#34; \ n&#34;在使用# Fails system 'cvs commit -m "Change #: <number>\nDescription: <description>" <filename>' # Works my $output = `cvs commit -m "Change #: <number>\nDescription: <description>" <filename>` 命令和反引号之间似乎没有记录在任何地方。