为什么回显用于p4作业-i添加空格和换行符

时间:2015-11-03 15:36:37

标签: powershell cmd perforce

在更新perforce作业时,我遇到使用管道和使用文件输入的以下区别: 在进行更新时(在windows cmd shell中),如下所示:

(echo job: job00101&echo.status: open&echo.description: One line only)|p4.exe -p myServer:1234 -u myUser job -f -i 

作业中的描述最后有一个空白,还有一个空行。 (可见,使用P4V编辑作业时)

当我使用两个命令和一个中间文件

尝试相同的操作时
(echo job: job00101&echo.status: open&echo.description: One line only) >test.txt
p4.exe -p myServer:1234 -u myUser job -f -i <test.txt

描述恰好包含一行而没有尾随空格。这就是我在使用烟斗时所期望的。

我需要的是一行命令而不需要中间文件。我不明白为什么管道与文件输出和输入的工作方式不同。

1 个答案:

答案 0 :(得分:2)

我认为在DOS批处理中cmdline重定向严重破坏。 Powershell是一个选择吗?

"job: job00101`nstatus: open`ndescription: One line only" | p4.exe -p myServer:1234 -u myUser job -f -i

作为替代方案,如果你必须在DOS批处理中运行,你可以使用它:

powershell -Command "\"job: job00101`nstatus: open`ndescription: One line only\" | p4.exe -p myServer:1234 -u myUser job -f -i"