在现有文本文件中添加一行?

时间:2019-07-15 13:06:23

标签: powershell

我正在使用下面的代码,但它似乎替换了文件的所有行,而不仅仅是将其插入第4行并删除了其余部分。有没有一种方法可以在此文本文件中的特定位置插入一行?

$Properties = "C:\Temp\Test.txt"
$fileContent = Get-Content $Properties | Select -Index 4
$lineNumber = "4"
$textToAdd = "Test"
$fileContent[$lineNumber] += $textToAdd
$fileContent | Set-Content $Properties

2 个答案:

答案 0 :(得分:0)

如果使用列表,则可以在预定义的部分插入对象。然后,我们再次设置文件内容。

[System.Collections.ArrayList]$file = Get-Content -Path "C:\Temp\Test.txt"
$file.Insert(3,"This is a test")
$file | Set-Content -Path "C:\Temp\Test.txt"

第三个对象将是第四行,因为第一个对象为零。

插入选项:

PS C:\> $file.Insert

OverloadDefinitions
-------------------
void Insert(int index, System.Object value)
void IList.Insert(int index, System.Object value)

答案 1 :(得分:0)

如果您只想在现有文件中添加一行文本:

cornerRadius

如果要在文件中间的特定行中附加内容:

layoutSubviews()