リストファイルに記載したファイル一覧に対して、リストファイルに記載した文字列セットを一括置換するツール。
たとえば、大阪・東京に同じ環境を構築するときとか。IPアドレスだったりホスト名とかだけ一斉置換できたらいいかなと思って。
[string]$FILELIST = "C:\work\tool\input_file.txt"
[string]$REPLACELIST = "C:\work\tool\input_replace.txt"
[string]$OSAKADIR = "C:\work\osaka\"
[string]$TOKYODIR = "C:\work\tokyo\"
Get-Content $FILELIST | ForEach-Object {
[string]$INPUTFILENAME = $OSAKADIR + $_
[string]$OUTPUTFILENAME = $TOKYODIR + $_
[array]$TMP = Get-Content $INPUTFILENAME -Encoding UTF8
Get-Content $REPLACELIST | ForEach-Object {
[array]$REPLACECOLUM = $_ -split ","
$TMP = $TMP | ForEach-Object { $_ -replace $REPLACECOLUM[0],$REPLACECOLUM[1] }
}
$TMP | Out-File -FilePath ($OUTPUTFILENAME + "_" + (Get-Date -Format "yyyy-MMdd-HHmmss")) -Encoding utf8
}
Write-Host "FINISHED"
手順書A.txt 手順書B.txt 手順書C.txt
カンマ区切りで1カラム文字→2カラム文字に
10.197,10.198 OSAKA,TOKYO 【大阪】,【東京】
