リストファイルに記載したファイル一覧に対して、リストファイルに記載した文字列セットを一括置換するツール。
たとえば、大阪・東京に同じ環境を構築するときとか。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
【大阪】,【東京】

<スポンサーリンク>

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

*

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)