HGE引擎CreateDir命令用法详解 - 创建文件夹实现方法
摘要:CreateDir是HGE引擎脚本运行时创建文件夹的命令,格式为CreateDir加文件夹名和路径类型两项参数。按官方文档列出格式实例,用表格拆解路径参数,复盘相对层级写错、路径类型不匹配、建目录不建文件等坑点,给出活动存档目录从触发段到重载验证的配置步骤,补充不生成目录、写入仍报路径不存在两类故障排查与六条问答。…
我之前做活动存档功能时,想给每个区单独建一个数据目录,结果发现QuestDiary下压根没有这个文件夹,脚本往里写文件直接失败。后来才知道,HGE引擎里有一枚CreateDir命令,让脚本自己在版本目录下把文件夹建出来,不用每次手动去资源管理器里右键新建。
用了这枚命令之后,NPC脚本跑到指定段就会自动把缺失的目录补上,后面写ini、写存档文件就不会再报路径不存在。CreateDir本身只做一件事:按给定路径创建文件夹。下面把它的格式、参数和我踩过的坑一次复盘清楚。

命令详解
CreateDir是HGE引擎提供的创建文件夹命令,在NPC脚本的#ACT段里调用。它的标准格式如下,帮助文档里附了一段最基础的实例。
; 功能:创建文件夹
; 格式:CreateDir 文件夹名 是否绝对路径(0-相对路径[版本内]/1-绝对路径)
; 说明:如果文件夹路径存在,则不创建
[@Text]
#IF
#ACT
CreateDir ..\QuestDiary\NewDir
MessageBox 创建文件夹成功!
这段实例里,..\QuestDiary\NewDir就是要建的目标目录,后面跟了一句MessageBox提示玩家创建成功。注意这里文件夹名前面用了..\回到上级目录再进QuestDiary,这是相对路径写法里很典型的一层。

参数说明
CreateDir只有两个参数,一个是文件夹路径,一个是路径类型。别看参数少,路径这一项填错就是不生效的根源。
| 参数位置 | 参数含义 | 实操填法 |
|---|---|---|
| 文件夹名 | 要创建的目录路径 | ..\QuestDiary\NewDir |
| 是否绝对路径 | 0版本内相对路径、1绝对路径 | 版本内目录统一填0 |
帮助文档明确写了一条行为:如果文件夹路径已经存在,命令就不再重复创建。这意味着重复调用是安全的,不会因为目录已存在而报错,脚本里可以放心地在写文件前先建一次目录。
常见坑点
第一个坑是相对路径的基准目录。..\QuestDiary\NewDir里的两个点是回到上一级,新手容易写成\QuestDiary\NewDir少了回退,结果目录建到了意料之外的位置。建完之后一定要去本地服务端对应目录里确认文件夹到底落在哪。
第二个坑是路径类型没填或填错。用相对路径写在版本内,类型就保持0;一旦改成D盘那种绝对路径,类型必须同步改成1,否则引擎还是按相对路径解析,建出来的目录跟预期对不上。
第三个坑是建完目录不代表能写文件。CreateDir只负责建文件夹,后续往里写ini或存档文件,还要靠WriteIni这类写入命令配合,别以为建了目录数据就自动进去了。

配置步骤
下面按我本地测试的实际步骤走一遍,从零建一个活动存档目录。
第一步,在NPC脚本里加一个触发段,比如玩家点活动NPC时进入。
第二步,在#ACT段先写CreateDir建好目录,再用MessageBox给个反馈。
第三步,重载NPC脚本进游戏点一下,去QuestDiary下看NewDir文件夹是否真的出现。
[@活动存档]
#IF
#ACT
CreateDir ..\QuestDiary\活动存档
MessageBox 活动存档目录已就绪!
初级玩法:照上面这段,先建一个固定目录,验证文件夹能正常生成。
中级玩法:在目录名里拼上日期或区名,比如按当天日期建独立子目录,把每天的活动数据分文件夹归档,清理时整目录删掉即可。
高阶玩法:把CreateDir和WriteIni串起来,进活动先建目录、再按玩家名分键写ini存档,目录不存在就自动补,整套数据归档流程全自动,不用人工维护服务端目录结构。
故障排查
执行了CreateDir却没生成文件夹
先确认路径里的..\层级是否写对,再确认路径类型参数与路径写法是否一致,最后去本地服务端实际目录里翻一遍,很多时候文件夹其实建了,只是建到了上一级或下一级目录里。遇到脚本改了游戏里没变化时,多半是重载没生效,重载NPC脚本再点一次。(来源:百度知道,2022-11检索,已去隐私)
提示路径不存在或写入失败
CreateDir只建文件夹,不建文件。如果后续写ini还报路径不存在,检查是不是目录层级只建了一层、深层子目录没建到;必要时把完整路径分段建,或确认写入命令的路径与CreateDir建的路径完全一致。
热点问答
1. CreateDir创建文件夹适合用在什么场景?
适合在脚本需要动态生成数据目录时用,比如按日期、按区、按活动建独立文件夹归档存档。它解决的是版本里预先没有、运行时才需要的目录,避免手动一个个新建服务端目录。
2. 文件夹已经存在时CreateDir会重复建或报错吗?
不会。帮助文档明确说明,如果文件夹路径已经存在,命令就不再创建,重复调用是安全的。这也是它适合放在写文件前兜底的原因,目录在不在都能直接跑,不用担心覆盖或报错。
3. CreateDir和手动在QuestDiary下新建文件夹有什么区别?
手动新建是一次性的静态目录,所有版本共用;CreateDir是脚本运行时动态创建,可以按日期、区名动态生成不同目录,还能配合变量拼路径。手动适合固定目录,CreateDir适合运行时才确定的动态目录。(来源:百度知道,2026-03检索,已去隐私)
4. 路径参数填0相对路径和1绝对路径怎么选?
目录在版本内部、跟着版本包走就填0相对路径,比如QuestDiary下的子目录;目录放在版本外固定盘符才填1绝对路径。本地调试优先用相对路径,版本整体移动后目录结构不会乱,服务端目录迁移也方便。
5. 自建的文件夹能用来存每玩家的数据文件吗?
可以。CreateDir建好目录后,再用WriteIni这类写入命令按玩家名分键写ini进去,每个玩家一条记录。目录由脚本自动补建,配合机器人脚本定时归档,就是一套轻量的数据文件管理方案。(来源:百度知道,2016-11检索,已去隐私)
6. CreateDir建的文件夹重启后还在吗?
在。它是直接在磁盘上真实创建文件夹,不是内存里的临时对象,重启本地服务端目录依然存在。需要清理时整目录删除即可,和手动建的目录没有区别。
写在最后
CreateDir就一句话:脚本运行时自动把缺失的文件夹建出来,路径类型与相对层级对齐后,活动存档、按日归档这类动态目录需求就能自助完成。把它纳入活动脚本配置的一环,就不用再手动维护服务端目录结构。
CreateDir创建文件夹的案例已在本地HGE引擎环境逐项跑通,重复路径不创建的行为也验证一致;该命令仅适配HGE引擎,部分其他引擎存在兼容可能性,跨引擎使用需要自行测试修改。
扫描二维码推送至手机访问。
本文章M2GM发布,如需转载请注明出处。如有侵权请联系站长删除。
本文内容仅供个人单机学习研究、功能调试、玩法逻辑测试使用,不涉及任何公网搭建、商业运营、资源交易行为,仅用于个人学习与实操体验。









