前置"!" 到文件第一行的开头

tho*_*sel 11 powershell

我有几个文件需要添加"!" 到了开头,就在第一行.我仍然需要保留第一行的内容,只需添加一个"!" 作为第一个角色.

任何帮助将非常感激.

谢谢!

编辑:到目前为止我唯一能想到的就是做以下事情:

$a = Get-Content 'hh_Regulars3.csv'
$b = '!'
Set-Content 'hh_Regulars3-new.csv' -value $b,$a
Run Code Online (Sandbox Code Playgroud)

这只是添加了"!" 到文件的顶部,而不是第一行的开头.

Mat*_*att 19

您发送的数组Set-Content$b,$a.如您所见,每个数组项都将拥有自己的行.如果执行,它将在提示符上显示相同的方式.

只要文件不是太大就读作一个字符串并添加字符.

$path = 'hh_Regulars3.csv'
"!" + (Get-Content $path -Raw) | Set-Content $path
Run Code Online (Sandbox Code Playgroud)

如果你只有PowerShell 2.0,那么Out-String就可以代替-Raw

"!" + (Get-Content $path | Out-String) | Set-Content $path
Run Code Online (Sandbox Code Playgroud)

括号对于确保文件在通过管道之前被读入是很重要的.它允许我们在同一个管道上进行读写.

如果文件较大,请查看使用StreamReaders和StreamWriters.如果由Add-Contentand 创建的尾随新行Set-Content未得到保证,则还必须使用此方法.

  • `Set-Content` 将在文件末尾添加额外的换行符。 (2认同)