きっかけ
メンバーみんなが使っているWindows環境で、ファイル内の文字列を置換するスクリプトがほしいなと。
置換のコマンドはこちらを使わせてもらうとして、あとは対象をバッチファイルに書いていくだけだが・・・
https://www.vector.co.jp/soft/win95/util/se271454.html
/
は//
にエスケープする必要があった。
わざわざエスケープ後の文字列を書いてくのはやだなーということで、batファイル内で値の置換ができないか調べた。
方法
@echo off
rem エスケープ前
set string=http://
echo 置換前:%string%
rem エスケープ実施
set replaced_string=%string:/=//%
echo 置換後:%replaced_string%
実行するとhttp://
→http:////
となる。
この書き方だからかと思うが、置換対象の文字列は、set
で一旦環境変数にする必要があった。
最後に
ここ最近、linuxだのpythonだのが多かったので、batファイルは中々新鮮すぎる。
ファイルのコピーにxcopy
とかいうコマンドを使うのも初めて知った。