2016-10-13 9 views
0

Replace for RegExは私のお尻を蹴っています。テキストファイルにPowershell .Replace RegEx

値= "COM8" />

、別のCOMポート(すなわち "COM9"、 "COM13" など)で "COM8" を置き換えます。私は、検索をしようとしています。

(Get-Content 'C:\Path\File.config').Replace('/".*?"', '"COM99"') | Set-Content 'C:\Path\File.config' 

ご協力いただきありがとうございます。

答えて

1

Get-Contentは、文字列のリストを生成します。 member enumerationで各文字列にReplace()が呼び出されます。つまり、Regex.Replace()メソッドではなく、String.Replace()メソッドを呼び出しています。前者は通常の文字列置換のみを行います。

(Get-Content 'C:\Path\File.config') -replace '=".*?"', '="COM99"' | 
    Set-Content 'C:\Path\File.config' 

ではなく-replace演算子を使用します