使用Batch Process批量替换文字


【问题描述】比如有100个DGN文件,需要把这些文件中的“Old”文字全部替换为“New”。使用MicroStation提供的批处理(Batch Process)工具配合对应的键入命令即可轻松实现。
【操作方法】
CE版中,如下截图,右上角的检索框中输入‘批处理’ (英文版则输入Batch Process)然后点击任意查询结果,即可打开此工具。
*注:MicroStation V8i或XM版本中,需要从主菜单Utilities下选择Batch Process按钮

如下标记部分所示:
1.首先添加待处理文件,添加成功后就会在下方的列表里显示。
2.再选择一个TXT格式的Command File,这个文本文件里包含文字替换的命令。(关于Command file的书写内容,请参考下面Command File的内容)
3.最后点击执行按钮,会额外弹出执行列表,当中点击执行按钮,程序就会对列表中每个文件执行一次command file,即实现批量替换文字。

【Command File】

对于MicroStation CE版本和V8i版本,请在TXT文件中使用下列命令:

MDL LOAD FINDREPLACETEXT 
FIND DIALOG SEARCHSTRING Old
FIND DIALOG REPLACESTRING New
CHANGE TEXT ALL
FILEDESIGN

对于MicroStation XM版本,请在TXT文件中使用下列命令:

MDL KEYIN FINDREPLACETEXT CHANGE DIALOGTEXT
VBA EXECUTE SetCExpressionValue "s_changeTextInfo.oldString", "old", "FINDREPLACETEXT"
VBA EXECUTE SetCExpressionValue "s_changeTextInfo.newString", "new", "FINDREPLACETEXT"
CHANGE TEXT ALL
FILEDESIGN

补充:正则表达式在替换数字中的命令写法

需求举例说明:用0.5xxx 替换小于0.5的所有值。比如,0.0123、0.1234、0.2345要分别被替换成0.5123、0.5234、0.5345,大于0.5的值则不做替换。
TXT文件中使用的命令为:(CE和V8i版本)

MDL LOAD FINDREPLACETEXT
FIND DIALOG REGEX True
FIND DIALOG SEARCHSTRING ^0\.[0-4]
FIND DIALOG REPLACESTRING 0.5
CHANGE TEXT ALL
FILEDESIGN

可参考的帮助文档说明和实例如下:
Regular Expressions (bentley.com)
Regular Expressions for Searching Text (bentley.com)