Windowsバッチでファイル(UTF-8)の特定文字列を置換する

Windowsバッチでファイル(UTF-8)の特定文字列を置換する

文字コードがUTF-8のファイル内の特定文字列をバッチで変更します。

バッチファイルの先頭にchcp 65001と書けばUTF-8ファイルを出力することができます。

以下バッチでは、in.yamlファイル内の「dev-」を「test-」に変換して、out.yamlを作成します。

conv.cmd

chcp 65001
setlocal enabledelayedexpansion
set INPUT_FILE=in.yaml
set OUTPUT_FILE=out.yaml
set BEFORE_STR=function:dev-
set AFTER_STR=function:test-
for /f "delims=" %%a in (%INPUT_FILE%) do (
set line=%%a
echo !line:%BEFORE_STR%=%AFTER_STR%!>>%OUTPUT_FILE%
)

コメント

タイトルとURLをコピーしました