PowerShellでUTF-8のファイルをリプレイス処理して文字列を置き換える

よく使うUTF-8のリプレイス処理があるのでアップしてみる。
下記がそれである。

#スクリプトの実行場所指定
$ScriptPath = Split-Path $script:myInvocation.MyCommand.path -parent

#読み込むファイル指定
$ReadFile = $ScriptPath + "\read.txt"

#吐き出すファイル情報を指定
$OutFile = $ScriptPath + "\output.txt" 

#UTF-8のファイルを処理
$Data = Get-Content -Encoding UTF8 $ReadFile

#最終行獲得
$MaxRow = $Data.length

#リプレイス
for ($loop = 0; $loop -lt $MaxRow; $loop++){
    #Aの文字をBの文字にリプレイス
    $Data[$loop] = $Data[$loop].Replace('A', 'B');
}

#UTF-8で保存
$Data | Out-File $OutFile -Encoding UTF8

#UTF-8ボム無しに変更
$Content = Get-Content -Encoding UTF8 $OutFile
$Utf8NoBomEncoding = New-Object System.Text.UTF8Encoding($False)
[System.IO.File]::WriteAllLines($OutFile, $Content, $Utf8NoBomEncoding)

上記ではAという文字列をBにリプレイスしている。

$Data[$loop] = $Data[$loop].Replace('A', 'B');

上記の部分を増やして行けば様々な変換処理を一気にできる。
なんとなく古式な書き方かもしれないが、
確実に変換してくれるので気に入っている。

ブログ主が運営しているゲームです。
こちらよりどうぞ