Повторное копирование содержимого одного файла в другой - PullRequest
1 голос
/ 28 июня 2011

Я пытаюсь получить содержимое одного файла и скопировать его несколько раз в другой файл.Я попробовал это:

for ($i=0; $i -lt 5; $i++) { Get-Content source } | Out-File destination

Но я получаю ошибку: «Пустой элемент трубы не разрешен».Размещение круглых скобок вокруг цикла for выглядит следующим образом:

(for ($i=0; $i -lt 5; $i++) { Get-Content source }) | Out-File destination

приводит к "Пропусканию закрытия") "в выражении".

Ответы [ 3 ]

4 голосов
/ 29 июня 2011
 (get-content source) * 5 | out-file destination
3 голосов
/ 29 июня 2011

Попробуйте:

1..5 | %{Get-Content source | Out-File destination -append}

Или более эффективно:

$content = Get-Content source; 1..5 | %{Out-File -FilePath destination -InputObject $content -append}

РЕДАКТИРОВАТЬ: Забыли -append

1 голос
/ 29 июня 2011

Вызывает цикл for как блок сценария, то есть что-то, что создает конвейерный вывод (сам блок for этого не делает):

.{
    for ($i=0; $i -lt 5; $i++) {
        Get-Content source
    }
} |
Out-File destination

(вы можете сделать его еще раз одной строкой)

P.S. Ваша вторая попытка почти правильная. Это работает:

$(for ($i=0; $i -lt 5; $i++) { Get-Content source }) | Out-File destination
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...