在PowerShell中禁止来自robocopy的空白行

时间:2019-05-09 09:11:11

标签: powershell robocopy

我在PowerShell脚本中使用robocopy来使用非常长的路径名(超过260个字符)来规避PowerShell的限制。程序robocopy被调用为

robocopy /E /NP /NFL /NDL /NJH /NJS $Source $Destination

此调用取消了robocopy的所有这些详细输出,但将允许显示任何错误。不幸的是,robocopy仍然输出一个空白行。由于robocopy输出已放入我的日志文件中,因此我想取消此空白行。

  • 是否有办法告诉robocopy在正常操作下不产生无输出
  • 是否有使用PowerShell压制这条讨厌的线的战争?

编辑:很明显,以某种后处理方式实现它并不容易。但是,如果只将单行过滤掉,那就太好了。如果robocopy输出某些行(包括错误),则不必排除所有空行。

2 个答案:

答案 0 :(得分:0)

有机会分享输出结果吗?

根据我的理解(可能相距甚远,因此为什么要求输出)您没有遇到错误,您只是想要甜蜜的,甜甜的什么都没有。在这种情况下,我们将使用out-null

& robocopy /E /NP /NFL /NDL /NJH /NJS $Source $Destination | out-null

例如:

get-item c:\users | out-null

什么都不会给你。

如果我误解了您的问题,我们深表歉意。

答案 1 :(得分:0)

您可以使用以下命令过滤空行:

robocopy /E /NP /NFL /NDL /NJH /NJS $Source $Destination | findstr /r /v "^$"