>>339
Ruby で作った。ただし、DryRun なので実際には実行されません

正規表現は、先頭^・末尾$ と、. をエスケープするので、\. となる。
^([a-zA-Z]+)\.txt$

日付は、%Y%m%d そのファイルの最終更新日、20190101 などの、4-2-2桁表示か?
aBc.txt → aBc_20190101.txt

require 'fileutils'

# 絶対パスのディレクトリ名の後ろに、*.txt を付けること!
# . で始まる、隠し directory, file を除く
glob_pattern = "C:/Users/Owner/Documents/test/*.txt"
target_dir = File.dirname( glob_pattern ) # ディレクトリパスだけを取り出す

re = /^([a-zA-Z]+)\.txt$/

Dir.glob( glob_pattern )
.select { |full_path| File.file?( full_path ) } # ファイルのみ
.each do |full_path|
File.basename( full_path ).match( re ) do |matched| # ファイル名がマッチしたもの
fs = File.stat full_path
date_str = fs.mtime.strftime "%Y%m%d" # 最終更新日 20190101 4-2-2桁

new_filename = "#{ $1 }_#{ date_str }.txt" # $1 は、capture 部分

dest_path = target_dir + "/" + new_filename
FileUtils::DryRun.move( full_path, dest_path )
end
end