File 如何在每个文件中插入一行?

File 如何在每个文件中插入一行?,file,powershell,insert,pipeline,File,Powershell,Insert,Pipeline,使用LinuxShell将一些内容附加到文件中非常方便,使用管道操作和流操作可以做到这一点 但在PowerShell中,管道用于对象级别,而不是文件级别。那么,例如,我如何在文件列表中插入一行“helloworld”作为它们的第一行呢?这并不是那么简单,但您可以这样做: Get-ChildItem | foreach {$a = Get-Content $_ Set-Content $_ -Value "hi", $a} 但老实说,我确实认为它符合您对

使用LinuxShell将一些内容附加到文件中非常方便,使用管道操作和流操作可以做到这一点


但在PowerShell中,管道用于对象级别,而不是文件级别。那么,例如,我如何在文件列表中插入一行“helloworld”作为它们的第一行呢?

这并不是那么简单,但您可以这样做:

Get-ChildItem | foreach {$a = Get-Content $_
                     Set-Content $_ -Value "hi", $a}

但老实说,我确实认为它符合您对管道的定义。

这并不是那么简单,但您可以这样做:

Get-ChildItem | foreach {$a = Get-Content $_
                     Set-Content $_ -Value "hi", $a}

老实说,我确实认为它符合你对管道的定义。

getchilditem | ForEach对象{$('hi';getcontent$)| Set Content$}
,或更短的
ls |%{$('hi';gc$)| sc$
。它或多或少与Linux shell中的相同。是的,甚至比临时变量更好。请注意,即使您不需要显式变量,但在将文件写回磁盘之前,您仍在将整个文件读入内存。
Get ChildItem | ForEach Object{$('hi';Get Content$|)| Set Content$|
,或更短的
ls{$('hi';gc$411; sc$411;
。它与Linux shell中的大致相同。是的,甚至比临时变量更好。请注意,即使不需要显式变量,在将整个文件写回磁盘之前,您仍在将其读入内存。