反复将一个文件的内容复制到另一个文件

时间:2011-06-28 19:58:22

标签: powershell

我正在尝试获取一个文件的内容,并将其多次复制到另一个文件中。我试过这个:

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 个答案:

答案 0 :(得分:4)

 (get-content source) * 5 | out-file destination

答案 1 :(得分:3)

试试这个:

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

或更高效:

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

编辑:忘记-append

答案 2 :(得分:1)

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