Ruby で作った。
あるフォルダ内のすべての、*.txt ファイルを置換する

1か所も置換されなかった場合でも、File.write で上書きされるので、
置換されない場合は、next ですぐさま、次の繰り返しへ進む

re = /before/

# . で始まる、directory, file を除く
Dir.glob( 'C:/Users/Owner/Documents/Ruby/test/test43/*.txt' ) do |file|
text = File.read file # すべて読み込む

next unless text.match( re ) # マッチしない

text.gsub!( re, "after" ) # すべてを置換

File.write file, text # 上書き
end