我正在尝试获取一个文件的内容,并将其多次复制到另一个文件中。我试过这个:
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
在表达式“。”中导致“缺少关闭”。“
答案 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