文本与文件

替换文件中的指定字符

直接替换文本文件中的目标字符或字符串,可选忽略大小写和实时落盘,适用于改名、状态回写和批量文本修正。

命令用途

StringsReplace 用于直接在指定文本文件中查找目标内容,并替换为新的字符串。

它适合处理文件级文本修正,例如角色改名后批量替换旧名、把状态字段从“未领取”改成“已领取”,或修正某个文本文件中的固定片段。

命令名

StringsReplace

调用格式

StringsReplace <文件路径> <原字符> <新字符> <是否忽略大小写> [HardDisk]

参数说明

参数必填说明
文件路径是目标文本文件路径。
原字符是需要在文件中查找并替换的旧文本。
新字符是用于替换原字符的新文本。
是否忽略大小写是0 表示不忽略大小写,1 表示忽略大小写。
HardDisk否实时操作硬盘文件。直接读写文本会明显增加性能开销。

返回或影响

  • 该命令会把目标文件中匹配到的文本替换为新内容。
  • 它不是条件判断命令,不直接返回成功或失败分支结果。
  • 带 HardDisk 时,会直接对物理文件执行替换。
  • 这类文件级替换命令比内存模式更重,频繁调用会明显拖慢引擎处理速度。

示例

基础用法

#ACT
StringsReplace ..\QuestDiary\rename.txt <$PARAMSTR(1)> <$PARAMSTR(2)> 0 HardDisk

这段写法会把 rename.txt 中的旧角色名替换成新角色名,适合改名系统同步修正外部文本记录。

常见变体

#ACT
StringsReplace ..\QuestDiary\安抚系统\安抚数据分析.ini <$USERNAME>|<$PARAM(3)>|<$STR(S15)>|未领取 <$USERNAME>|<$PARAM(3)>|<$STR(S15)>|已领取 1 HardDisk

这段写法会把文件中的状态字段从“未领取”替换成“已领取”,并忽略大小写后直接写回硬盘,适合状态流转和一次性奖励回写。

注意事项

  • StringsReplace 是文件级替换,适合改持久化文本,不适合代替内存字符串处理的 StringReplace。
  • HardDisk 模式会显著拉低性能,只有确实需要立刻落盘时才建议使用。
  • 如果原字符在文件中出现多次,执行后可能会影响多个位置,使用前应先确认文件内容结构。

相关命令