よく使う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');上記の部分を増やして行けば様々な変換処理を一気にできる。
なんとなく古式な書き方かもしれないが、
確実に変換してくれるので気に入っている。