batch-file - 如何在批处理文件中获取文件变量
问题描述
让我们想象一个 Batch 游戏将您的进度保存在 file.bat 文件中,当我们编辑该文件时,我们得到:
set Health=100
set Sword=Gold
我在批处理文件中使用了这个命令,但它不起作用:
for /f "eol=- delims=" %%a in (file.bat) do set "%%a"
echo Your health is %Health%
echo Your sword is made of %Sword%
它留空。
但是如果我制作了一个像上面这样的文件但删除了set
(只有 Health=100 和 Sword=Gold 没有设置),它可以工作并给我变量 Health 和 Sword,但是当set
添加命令时它不起作用,如果有的话知道解决方案请告诉我,谢谢!
我想要一个给我变量的命令,我不想只是set
从文件中删除命令,因为如果我这样做了,保存 bat 文件的游戏将在从文件中提取变量以继续你离开的地方时损坏游戏。
解决方案
游戏生成提示:
如果您保留一个字符作为您想要保存的变量的前缀(例如,我想要保存/重新加载的所有变量都以 开头#
),那么您保存游戏所需的一切就是
set #>"mygamefile.txt"
重新加载游戏所需要做的就是
for /f "usebackqdelims=" %%a in ("mygamefile.txt") do set "%%a"
要删除所有#
变量(在重新加载游戏之前很有用),请使用
for /f "delims==" %%a in ('set # 2^>nul') do set "%%a="
推荐阅读
- c# - CA2202 不要多次处理对象,如何解决?
- javascript - 为什么 this.state.items.filter 从数组中删除一个项目
- javascript - 当这个循环运行时,最终数组只占最后一次运行,而不是全部。我怎样才能解决这个问题?
- oracle - DBMS_APPLICATION_INFO.SET_ACTION 不起作用
- javascript - 使用 Cropper js 裁剪后图像质量降低
- angular - 角度测试不检测输入值的变化
- vue.js - Vue 加载器无法解析“@”
- math - 确定颜色的 RYB 补色
- python - TensorFlow:如何在 SetShapeFn([](::tensorflow::shape_inference::InferenceContext* c) 中定义输出形状
- ios - 谷歌地图原始标记图像与所选标记重叠