我檢查文件中缺少特殊位置的char的行。如果缺少字符,我將它插入到確切的位置。現在我想用舊行中的那個額外字符將新行寫入文件。Powershell - 替換一些行
"C:\\path\test\test"
"C:\\path\test\test2\"
"C:\\path\test\test3\"
我跑我的短劇本後,我希望它看起來像:
"C:\path\test\test\"
"C:\path\test\test2\"
"C:\path\test\test3\"
我盡力去完成,使用這個小環:比如我已在該文件中以下
$content = Get-Content C:\path\to\file.txt
foreach ($line in $content)
{
if($line[-25] -ne '\') {
$test = $line -replace '(?<!\\)(?=.{24}$)', '\' | Set-Content C:\path\to\file.txt
}
else {
continue
}
}
該代碼不會插入我在正確位置的字符。但最後只有一行在文件中,而不是全部三行。 我覺得我很接近,但剛剛開始使用PowerShell。
謝謝,完美的作品!對於可能有類似問題的其他人,將'Get-Content C:\ path \ to \ file.txt'放在方括號內(Get-Content C:\ path \ to \ file.txt)'。否則,Set-Content無法訪問該文件,因爲它仍然由Get-Content使用。 – BallerNacken
@BallerNacken好點;你也可以寫一個單獨的文件,這將做到這一點。 – briantist