文本与文件

读取并删除指定行

读取指定文本文件中的某一行到变量并删除该行,适用于队列消费、排行弹出和单次领取记录提取。

命令用途

DeleteLine 用于读取指定文本文件中的某一行内容到变量,并在读取后删除该行。

它适合处理队列式文本数据,例如报名列表逐条消费、奖励记录逐条提取、文本池按序弹出和一次性任务清单处理。

命令名

DeleteLine

调用格式

DeleteLine <文件路径> <行数> <返回变量> [HardDisk]

参数说明

参数必填说明
文件路径是目标文本文件路径。
行数是需要读取并删除的行号。可以是固定数字,也可以是变量表达式。
返回变量是用于接收读取结果的变量,一般写 S 系列临时变量或 A 系列全局变量。
HardDisk否实时读写物理硬盘;省略时优先操作当前内存中的文本内容。

返回或影响

  • 该命令会把目标行内容写入指定变量。
  • 读取完成后,该行会从目标文本文件中删除。
  • 带 HardDisk 时,会优先读写物理文件中的实时内容。
  • 不带 HardDisk 时,通常操作当前内存中的文本状态。
  • 如果目标行为空,返回变量可能保留上一次保存的内容,不能默认当作空字符串处理。

示例

基础用法

#ACT
DeleteLine ..\QuestDiary\排行榜\报名名单.txt 1 S10 HardDisk
SendMsg 0 "本次取出的报名记录:<$STR(S10)>"

这段写法会把报名名单的第 1 行读入 S10,再把这一行从文件中删除,适合逐条消费排队或待处理记录。

注意事项

  • DeleteLine 是按行号读取并删除,不是按关键字匹配删除;如果需要按内容删除,应改用 DeleteLineList。
  • 如果要判断“是否真的取到了内容”,建议先把返回变量清空,再执行读取删除;例如先 MOV S10,再读入 S10。
  • 如果读取到的内容还要参与后续流程,建议在删除后尽快转存或使用,避免变量被后续逻辑覆盖。

相关命令