【AIGC】不维护清单:一个易语言小工具怎么用扫盘代替手工列表

标题起得跟红警3无关,是因为这篇不想卖情怀。它想说的是三件你在任何语言、任何项目里都会碰到的事:怎么让一个程序在开发机和在别人机器上 behave 得不一样,怎么在没有 DOM 库的情况下手搓一份结构文本,以及怎么用"扫目录"这件事本身来充当清单。东西是二十行不到的易语言控制台代码,越短越能把方法看干净。 先给个定位。这不是一个 MOD,是一个生成 MOD 用的装配文件的小工具:它扫描一个目录里躺着的资源文件,把它们拼成一份 XML 清单,写回去。程序没有窗口,入口就是 _启动子程序。它的价值全在这几个动作的写法上。我把它拆开讲,不是因为它多精巧,恰恰因为它简陋——二十来行、没有抽象、没有库,简陋到每个决定都必须当场做给你看,反而比一个裹了三层封装的现代项目更能看清"当时为什么这么写、这么写能拿走什么"。 一、是否为调试版() 是一个两档开关,不是一个调试打印 代码第一段就把很多人写死的东西拆成了两条路: .如果 (是否为调试版 ()) 目录 = "E:\Red Alert 3\RA3 MODSDK-X\Mods\M02\Data" .否则 目录 = 取运行目录 () .如果结束 是否为调试版 () 判的是"我现在是在 IDE 里被直接按运行,还是已经被编译成 exe 在跑"。IDE 里跑,它认那个写死的绝对路径;编译出去跑,它改用 取运行目录 (),也就是 exe 自己所在的那个目录。 ...