文件操作类所有命令及示例

文件创建、删除、复制、检测文件是否存在

格式:CREATEFILE 文本路径

功能:创建文本文件

[@main]

#IF
#ACT
CreateFile ..\QuestDiary\NewFile.txt
#SAY
在Envir\QuestDiary目录中建立了一个文件.

格式 DeleteFile 文本路径

功能:创建文本文件

格式:FileExists 文件路径

功能:检测文件是否存在

[@main]
#if
FileExists ..\QuestDiary\数据.txt
;检测“..\QuestDiary\数据.txt” 是否存在
#act
;删除“..\QuestDiary\数据.txt”
DeleteFile ..\QuestDiary\数据.txt

[@main]
#if
#act
GetTextLineCount ..\QuestDiary\装备回收.txt N$行数
Sendmsg 5 提示:装备回收.txt文件共有<$STR(N$行数)>行内容

格式:CopyFile 原文件路径 复制后的路径

功能:复制文件到指定目录

[@复制文件]
#ACT
CopyFile ..\QuestDiary\战力排行\战力数据.txt ..\QuestDiary\复制战力排行\复制战力数据.txt

获取文本总行数 从文件中随机取文本

GetTextLineCount 功能:获取文本总行数

格式: GetTextLineCount 路径 保存变量

GETRANDOMLINETEXT 功能:从文件中随机取文本

格式:GETRANDOMLINETEXT 文件 字符串变量 指定行(0或空是随机一行,大于0是取指定行)

例子:
[@Main]
#If
#Act
GETRANDOMLINETEXT ..\QuestDiary\装备列表.txt S0
#Say
取回的文本是: <$STR(S0)>
注:GetCacheRandomLineText写法一样,区别只是从缓存检测,速度更快,但是只读取一次,修改文本也不会再更新

把字符串写入到指定的文本文件中,可以指定写入行.


格式:AddTextListEx 路径 字符串 行(0-65535)
例子:
[@main]
#IF
#ACT
AddTextListEx ..\TestList.txt <$USERNAME> 0 1

读取文本文件中的内容到变量中

格式:GetListString 文件路径 行号(行号从0开始) 变量1 变量2
说明:变量2可以不需要,当读取变量2时文本单行的内容必须是以下格式:
人物1:10
人物2:20

例子:
[@main]
#IF
#ACT
GetListString ..\QuestDiary\测试.txt 5 A10 N10

取字符串在列表中的下标

格式:GetStringPos 路径 字符串

说明:返回值放在人物的N0变量中,如果值= 9999999说明没有找到
其他:返回值可以通过EQUAL做条件检测

[@main]
#IF
#ACT
GetStringPos ..\QuestDiary\测试.txt 管理员
SendMsg 5 字符串在列表中的位置:<$STR(N0)>
注:GetCacheStringPos写法一样,区别只是从缓存检测,速度更快,但是只读取一次,修改文本也不会再更新

从文件中随机获取一行字符串

格式:GetRandomText 文件路径 变量(S0–S99) 指定行(0-10000)
说明:没有指定行时随机取某一行的字符串.

例如:随机取一行字符串到S10中.
[@Main]
#IF
#ACT
GetRandomText ..\QuestDiary\测试.txt S10
SendMsg 5 取出的字符串是:<$STR(S10)>

例如:取特定行的字符串.
[@Main]
#IF
#ACT
GetRandomText ..\QuestDiary\测试.txt S10 5
SendMsg 5 取出的字符串是:<$STR(S10)>

注:GetCacheRandomText写法一样,区别只是从缓存检测,速度更快,但是只读取一次,修改文本也不会再更新

清除列表内容



命令格式:CLEARNAMELIST namelist.txt

;清除列表
[@Clearnamelist]
#IF
#ACT
CLEARNAMELIST namelist.txt
#SAY
列表已被清除

删除文本某一行,保留行号

格式:DelText 文本路径 行数 删除模式(0=不保留删除行 1= 保留删除行为空行)
功能:从指定文件中删除字符串和从指定文件中增加字符串,新格式老格式都可以使用。


从指定文件中删除字符串和从指定文件中增加字符串,新格式老格式都可以使用。

[@旧格式_不区分大小写]
#IF
CHECKTEXTLIST ..\QuestDiary\充值系统\10元卡号.txt <$STR(S$2)>
#SAY
<$STR(S$2)>在列表中
#ELSESAY
<$STR(S$2)>不在列表中

[@新格式_区分大小写]
#IF
CHECKTEXTLIST ..\QuestDiary\充值系统\10元卡号.txt <$STR(S$2)> <$STR(S$3)>
#SAY
卡号密码正确
#ELSESAY
卡号密码错误

S$2和S$3的值在“10元卡号.txt”文本中以空格分开
注:CheckCacheTextList写法一样,区别只是从缓存检测,速度更快,但是只读取一次,修改文本也不会再更新。


格式:

CHECKTEXTLIST 文件位置 字符串
AddTextList 文件位置 字符串
DelTextList 文件位置字符串

;增加字符串
[@Test老格式]
#IF
#ACT
AddTextList ..\TestList.txt 您的名字

[@Test新格式]
#IF
#ACT
AddTextList ..\TestList.txt 您的名字 您的性别

;删除字符串
[@Test老格式]
#IF
#ACT
DelTextList ..\TestList.txt 您的名字

[@Test1新格式]
#IF
#ACT
DelTextList ..\TestList.txt 您的名字 您的性别

检查字符串是否在指定文件中

检查字符串是否在指定文件中 包含检测 检测的字符串不需要完全相同,文件里的字符包含检测的字符,就会成功

[@CheckContainsTextList]
#IF
CheckContainsTextList ..\QuestDiary\充值系统\10元卡号.txt <$STR(S2)>
#ACT
SENDMSG 6 列表 文件中某一行字符包含<$STR(S2)>
#ELSEACT
SENDMSG 6 列表文件中某一行字符不包含<$STR(S2)>

[@CheckContainsTextListEx]
#IF
CheckContainsTextListEx ..\QuestDiary\充值系统\10元卡号.txt <$STR(S2)>
#ACT
SENDMSG 6 <$STR(S2)>包含列表中某一行字符
#ELSEACT
SENDMSG 6 <$STR(S2)>不 包含列表中某一行字符

CheckContainsTextList 和 CheckContainsTextListEx 区别

CheckContainsTextList 列表中,是否包含被检测的字符

CheckContainsTextListEx 被检测的字符是否包含列表中的某一行内容

注:CheckCacheContainsTextList、CheckCacheContainsTextListEx写法一样,区别只是从缓存检测,速度更快,但是只读取一次,修改文本也不会再更新。

读取文本单行多列

功能:读取文本单行多列
格式:GetListStringEx 文本路径 行号 写入变量 符号(默认为空)
例子:
[@读文本多列]
#IF
#ACT
AddTextListEx ..\QuestDiary\测试.txt 战士*100*法师*200*道士*300 0
GetListStringEx ..\QuestDiary\测试.txt 0 S$读取列 *
SENDMSG 0 —<$STR(S$读取列0)>—<$STR(S$读取列1)>—-<$STR(S$读取列2)>–<$STR(S$读取列3)>–<$STR(S$读取列4)>–<$STR(S$读取列5)>

© 版权声明
THE END
喜欢就支持一下吧
点赞6 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容