将ARG/WIG与批处理vfs形式结合?
-
我们都知道ARG大多是“活的”,一般要求其“入侵我的现实”,那么这个框架应该对于这种要求强烈现实性的可能不太符合,但是对于WIG而言,将WIG放入一个“死的”批处理vfs显然会成为一种新的叙事形式,玩家可以在一个普通的.bat文档中游玩,如此简单......
同样的,只要创作者掌握编辑.bat文档(就是cmd),那么创作一个ARG/WIG也不再需要搭建网站了,不过很多人理不清UTF-8和ANSI编码需要插入的chcp代码页,这个需要创作者自己了解


虽然作为一个高一学生,做出来的第一个批处理vfs真的很粗糙,并且很多功能部分代码我采用的是挂载到骨干部分形式而非顺序执行,所以执行效率会变慢(轻喷......)
不过我依然希望这个框架(或者说是引擎)能帮到广大创作者!merci!
https://wwbmk.lanzoue.com/iN8Hq4a05ehg
密码:7hsa -
个人认为与其使用批处理不如使用 PowerShell。
PowerShell 的语法比 Batch 更简单易懂,并且 PowerShell 跨平台。用 batch 意味着 linux 与 macos 用户必须使用 wine 类或者虚拟机。
个人观点。同时我也在用 powershell 写,我写完之后会发出来。== 追加
我搞不清楚为什么你会选择 batch 而不是 powershell,同时很明显你的文件中有一部分是使用 AI 写的。
为什么你各种函数的一部分注释使用 utf-8 解码是乱码?就算使用 GBK 或 WINDOWS-1252 都无法正常显示。看一下逻辑问题。
call set "rp_known=%%DIR_%rp_input%_NAME%%" if defined rp_known ( set "RESOLVED_KEY=%rp_input%" exit /b 0 )全局直接匹配?假设当前在 A:\SYSTEM,输入 cd ARCHIVE,它会直接找到根下的 ARCHIVE,而不是报错或相对当前目录查找。
:do_copy复制文件时:
set "!cp_dfull!_SIZE=0" ... echo 1 file^(s^) copied. exit /b if /i "!cp_skey!"=="!cp_dkey!" if /i "!cp_sfname!"=="!cp_dfname!" ( echo File cannot be copied onto itself. exit /b )自身复制检查在
exit /b之后,是死代码。
而且复制时只复制了FILE_..._LINES和行内容,没有复制FSIZE_...,导致复制后的文件在 DIR 中显示大小为 0。脚本里出现了两次
:find_one_file。
第一个在 FIND 部分,使用外部 find.exe,且没有 exit /b,执行完会继续落入后面的代码。
第二个在文件末尾,是纯批处理实现,但因为标签同名,call :find_one_file 只会跳到第一个,第二个是死代码。
同时第一个版本违背了开头“No external tools”的声明,因为用了 find.exe。:to_lower每个字符都要循环 26 次,性能极差。搜索大文件时会非常慢。(本人言辞可能比较犀利,请谅解。)
优化过后的版本:
https://ylgydown.lanzout.com/iZxWQ4bh4tij
密码:cpz3