次の内容のテキスト ファイルがあります。
Static Text MachineA MachineB MachineC
Just Another Line
最初の行には、間にスペースを入れた 2 つの静的な単語 (静的テキスト) があります。これらの 2 つの単語の後に、同じくスペースで区切られた 0 個以上のコンピューター名があります。
コンピューターが 0 台だけでなく、1 台以上のコンピューターがある場合に、最初の行にテキストを追加する方法を見つける必要があります (2 行目は変更されません)。すべてのコンピューター名を新しいコンピューター名に置き換える必要があります。したがって、スクリプトはファイルを編集して次のようにする必要があります。
Static Text MachineX MachineY
Just Another Line
-replace 関数を Regex で調べましたが、なぜ機能しないのかわかりません。これは私が持っているスクリプトです:
$OptionsFile = "C:\scripts\OptionsFile.txt"
$NewComputers = "MachineX MachineY"
$content = Get-Content $OptionsFile
$content |
ForEach-Object {
if ($_.ReadCount -eq 1) {
$_ -replace '\w+', $NewComputers
} else {
$_
}
} |
Set-Content $OptionsFile
誰かがこれで私を助けてくれることを願っています。