ファイルで正規表現の置換を実行する関数があります。問題は、タッチするすべてのファイルの先頭に文字 (0x00) を追加することです (一致するファイルが見つからない場合でも!)。csprojファイルを編集しているため、MSBuild で次のエラーが表示されます。
error MSB4025: The project file could not be loaded. '.', hexadecimal value 0x00, is an invalid character. Line 2, position 1.
これが私の機能です:
function fileStringRegExReplace ([string] $fileToChange, [string] $oldString, [string] $newString) {
echo "f" | xcopy "$fileToChange" "$fileToChange.og.cs" /Y /Q
$file = Get-Content "$fileToChange.og.cs" |
Foreach-Object {
$_ -replace $oldString, $newString
} |
Out-File "$fileToChange"
Remove-Item "$fileToChange.og.cs"
}
ファイルの他の部分を変更せずに、必要な行を置き換えるにはどうすればよいですか?