File 批处理| |我在从txt文件加载变量时遇到问题
我在读取文本文件时遇到问题。 当我尝试从文本文件加载变量时,它们只返回空白,但当我“键入”它们时,它们返回完全正常 我用于读取和保存文件的代码(basecd是bat文件的目录): “set/p buffer=”是“暂停”的替代项 请帮帮我,我已经反复思考了好几天了,我无法忘记。File 批处理| |我在从txt文件加载变量时遇到问题,file,batch-file,readfile,File,Batch File,Readfile,我在读取文本文件时遇到问题。 当我尝试从文本文件加载变量时,它们只返回空白,但当我“键入”它们时,它们返回完全正常 我用于读取和保存文件的代码(basecd是bat文件的目录): “set/p buffer=”是“暂停”的替代项 请帮帮我,我已经反复思考了好几天了,我无法忘记。 感谢阅读请注意,\是批处理中的路径分隔符,/引入了开关。有时,批处理进行翻译。不总是 这与你明显的问题无关。请查看关于延迟扩展的无限项目 在块语句(一系列带括号的语句)中,解析整个块,然后执行。在解析块时,块内的任何%v
感谢阅读请注意,
\
是批处理中的路径分隔符,/
引入了开关。有时,批处理进行翻译。不总是
这与你明显的问题无关。请查看关于延迟扩展的无限项目
在块语句(一系列带括号的语句)
中,解析整个块,然后执行。在解析块时,块内的任何%var%
都将替换为该变量的值——在执行块之前——这同样适用于。。。DO(块)
因此,在遇到IF
时,将使用%variables%
的值执行IF(somethingelse)
在您的例子中,您正在改变块内的值,因此您看到的是原始值,而不是更改后的值
游戏生成提示:
如果您保留一个字符作为要保存的变量的前缀(例如,我要保存/重新加载的所有变量从#
开始),则保存游戏所需的全部内容是
set #>"mygamefile.txt"
for /f "usebackqdelims=" %%a in ("mygamefile.txt") do set "%%a"
你只需要重新加载一个游戏
set #>"mygamefile.txt"
for /f "usebackqdelims=" %%a in ("mygamefile.txt") do set "%%a"
要清除所有
变量(在重新加载游戏之前很有用),请使用
不要错过usebackq和delims之间的空格。@soja:AFAIAA,空格是可选的。您能提供一个示例说明在哪里需要它吗?选项字符串中的所有空格都是可选的,但是为了可读性,我建议插入它们…如果您将
如果存在…
还原为如果不存在…
,则可以最小化代码块。因为echo文件不存在…
没有任何变量,所以将其括在括号中并不重要。
for /f "delims==" %%a in ('set # 2^>nul') do set "%%a="