Я новичок в powershell и в настоящее время работает над редактированием одной строки текстового файла.Powershell - Замена значения на одну строку в текстовом файле
Когда я пытаюсь перезаписать текстовый файл, я получаю только одну строку в текстовом файле. Я пытаюсь вызвать функцию с
modifyconfig "test" "100"
config.txt
check=0
test=1
Изменить Config Функция:
Function modifyConfig ([string]$key, [int]$value){
$path = "D:\RenameScript\config.txt"
((Get-Content $path) |
Foreach-Object {
write-host $_
# If '=' is found, check key
if ($_.Contains("=")){
# If key matches, replace old value with new value and break out of loop
$pos = $_.IndexOf("=")
$checkKey = $_.Substring(0, $pos)
if ($checkKey -eq $key){
$oldValue = $_.Substring($pos+1)
write-host 'Key: ' $checkKey
write-host 'Old Value: ' $oldValue
$_.replace($oldValue,$value)
write-host "Result:" $_
}
} else {
# Do nothing
}
}) | Set-Content ($path)
}
В результате я получаю в моем "config.txt":
test=100
Мне не хватает "check = 0"
Что я пропустил?
Спасибо! Это сработало отлично. –