Подавить пустую строку из robocopy в PowerShell - PullRequest
0 голосов
/ 09 мая 2019

Я использую robocopy в скрипте PowerShell, чтобы обойти ограничения PowerShell, используя очень длинные имена путей (более 260 символов). Программа robocopy вызывается как

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

Этот вызов подавляет весь этот подробный вывод robocopy, но позволит показать любую ошибку. К сожалению, robocopy все еще выводит одну пустую строку. Поскольку вывод robocopy помещается в мой файл журнала, я хочу убрать эту единственную пустую строку.

  • Есть ли способ заставить robocopy выдавать без вывода при нормальной работе?
  • Есть ли война, чтобы подавить эту крошечную неприятную линию с PowerShell?

Редактировать: Понятно, что нелегко реализовать это в виде постобработки. Но было бы неплохо, если бы отфильтровалась только одна строка. Если robocopy выводит несколько строк (включая ошибки), нет необходимости подавлять все пустые строки.

Ответы [ 2 ]

0 голосов
/ 09 мая 2019

Вы можете отфильтровать пустые строки с помощью команды, как показано ниже:

robocopy /E /NP /NFL /NDL /NJH /NJS $Source $Destination | findstr /r /v "^$"
0 голосов
/ 09 мая 2019

Есть ли шанс, что вы можете поделиться выводом?

Из того, что я понимаю (и, может быть, это далеко, поэтому зачем просить вывод), вы не получаете ошибок, вы просто не хотите ничего сладкого.В этом случае мы будем использовать out-null

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

В качестве примера:

get-item c:\users | out-null

вообще ничего вам не даст.

извинения, если янеправильно понял ваш вопрос.

...