バッチファイルで文字列を置換する方法を学ぶことで、Windows環境での自動化作業をさらに効率化できます。本記事では、基本的な置換方法から、PowerShellを使用した応用的な置換方法まで紹介します。
基本的な文字列置換
まず、バッチファイル内で簡単な文字列を置換する方法を紹介します。以下の例では、”Hello World” を “Hello Universe” に置換します。
@echo off setlocal enabledelayedexpansion set "original_string=Hello World" set "search_string=World" set "replace_string=Universe" echo Original String: %original_string% :: 置換処理 set "new_string=%original_string:%search_string%=%replace_string%" echo New String: %new_string%
上記スクリプトでは、set コマンドを使用して文字列を置換しています。setlocal enabledelayedexpansion を使用することで遅延変数展開を有効にし、変数の値をリアルタイムで操作できるようにしています。
ファイル内の文字列置換
特定のファイル内の文字列を置換する場合、PowerShellを利用すると便利です。以下のスクリプトでは、example.txt 内の “World” を “Universe” に置換します。
@echo off setlocal set "file_path=example.txt" set "search_string=World" set "replace_string=Universe" :: PowerShellを使ってファイル内の文字列を置換する powershell -Command "(Get-Content %file_path%) -replace '%search_string%', '%replace_string%' | Set-Content %file_path%" echo Replacement done.
このスクリプトでは、PowerShellのGet-ContentとSet-Contentコマンドを使用してファイル内容を読み込み、置換し、再度ファイルに書き込んでいます。これにより、より複雑な文字列置換も簡単に実現できます。
まとめ
バッチファイルでの文字列置換は、シンプルな方法からPowerShellを活用した応用的な方法まで、多岐にわたります。業務効率化の一環として、これらの技術をマスターしておくと非常に便利です。是非、実際の作業に取り入れてみてください。

