跳转至内容
  • 版块
  • 最新
  • 标签
  • 热门
皮肤
  • 浅色
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • 深色
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • 默认(Lux)
  • 不使用皮肤
折叠
品牌标识

迷雾论坛

  1. 迷雾站
  2. 类ARG形式/puzzle讨论
  3. 将ARG/WIG与批处理vfs形式结合?

将ARG/WIG与批处理vfs形式结合?

已定时 已固定 已锁定 已移动 类ARG形式/puzzle讨论
2 帖子 2 发布者 175 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
回复
  • 在新帖中回复
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • Z 离线
    Z 离线
    Zhukelian
    编写于 最后由 编辑
    #1

    我们都知道ARG大多是“活的”,一般要求其“入侵我的现实”,那么这个框架应该对于这种要求强烈现实性的可能不太符合,但是对于WIG而言,将WIG放入一个“死的”批处理vfs显然会成为一种新的叙事形式,玩家可以在一个普通的.bat文档中游玩,如此简单......
    同样的,只要创作者掌握编辑.bat文档(就是cmd),那么创作一个ARG/WIG也不再需要搭建网站了,不过很多人理不清UTF-8和ANSI编码需要插入的chcp代码页,这个需要创作者自己了解
    Screenshot 2026-09-26 203708.png
    Screenshot 2026-09-26 203725.png
    虽然作为一个高一学生,做出来的第一个批处理vfs真的很粗糙,并且很多功能部分代码我采用的是挂载到骨干部分形式而非顺序执行,所以执行效率会变慢(轻喷......)
    不过我依然希望这个框架(或者说是引擎)能帮到广大创作者!merci!
    https://wwbmk.lanzoue.com/iN8Hq4a05ehg
    密码:7hsa

    1 条回复 最后回复
    1
    • BlueLightingB 离线
      BlueLightingB 离线
      BlueLighting
      编写于 最后由 BL.BlueLighting 编辑
      #2

      个人认为与其使用批处理不如使用 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

      For infinity creatives and more problems.

      1 条回复 最后回复
      0

      你好!看起来您对这段对话很感兴趣,但您还没有一个账号。

      厌倦了每次访问都刷到同样的帖子?您注册账号后,您每次返回时都能精准定位到您上次浏览的位置,并可选择接收新回复通知(通过邮件或推送通知)。您还能收藏书签、为帖子顶,向社区成员表达您的欣赏。

      有了你的建议,这篇帖子会更精彩哦 💗

      注册 登录
      回复
      • 在新帖中回复
      登录后回复
      • 从旧到新
      • 从新到旧
      • 最多赞同


      • 登录

      • 没有帐号? 注册

      • 登录或注册以进行搜索。
      • 第一个帖子
        最后一个帖子
      0
      • 版块
      • 最新
      • 标签
      • 热门