如何查找FS或WFS与" {"在文件中,在找到的单词后面和" {"。
之前插入时间戳示例:
FS mmmmmmmmmm {
运行脚本后:
FS mmmmmmmmmm_timestamp {
答案 0 :(得分:3)
使用REPL.BAT - a hybrid JScript/batch utility非常简单,它在stdin上执行正则表达式搜索/替换,并将结果写入stdout。 REPL.BAT是纯脚本,可以在任何现代Windows机器上运行,从XP开始。这也比任何纯批量解决方案快得多。
type "file.txt" | repl "(\bW?FS [^{]*[^{ ])( *{)" "$1_timestamp$2" >"file.txt.new"
move /y "file.txt.new" "file.txt"
您没有指定,但也许您想要一个时间戳值而不是字符串文字" timestamp"。您可以使用How to get current datetime on Windows command line, in a suitable format for using in a filename?处的任何方法来获取当前时间戳,或者为了最终的易用性和灵活性,您可以使用我的getTimestamp.bat utility - 另一种混合JScript /批处理实用程序。
您不会说出时间戳应该具有什么格式,也不知道精度程度。我假设您需要一种适合文件名的格式 - YYYY-MM-DD_hh-mm-ss
。
@echo off
setlocal
call getTimetamp -f "{YYYY}-{MM}-{DD}_{HH}-{NN}-{SS}" -r ts
type "file.txt" | repl "(\bW?FS [^{]*[^{ ])( *{)" "$1_%ts%$2" >"file.txt.new"
move /y "file.txt.new" "file.txt"