从MS-DOS批处理文件加载文件

时间:2014-03-18 07:43:18

标签: batch-file dos

最近我一直在使用MS-DOS批处理脚本制作游戏。我已经研究了如何创建一个文件来保存,但我似乎无法找到如何加载这些数据。我知道如何在现代Windows 7批处理文件中执行此操作:

:load < NAME.FILETYPE ( set /p VARIABLE= set /p VARIABLE= set /p VARIABLE= ::and so on )

但是因为实际的MS-DOS(我使用的是v6.22,如果它改变了什么)没有/ p所以这是不可能的。所以,我的问题是,有没有办法在不使用/ p的情况下做到这一点?

2 个答案:

答案 0 :(得分:1)

以这种方式创建扩展名为.bat的保存文件:

(
echo set var1=%var1%
echo set var2=%var2%
echo set var3=%var3%
) > SETVARS.BAT

然后以这种方式恢复变量的值:

call SETVARS

编辑对评论和downvote的回复

我认为这里有一种骚扰。 OP在问题中表示&#34;我已经研究了如何创建一个用于保存的文件&#34;。我的回答应理解为:&#34;使用您的方法创建保存文件,但扩展名为.bat并且此内容为:&#34;

set var1=value of var1
set var2=value of var2
set var3=value of var3

然后使用call theFile.bat命令加载数据。我很确定这种方法适用于允许call外部批处理文件的任何MS-DOS版本......

编辑#2

您可以使用此方法创建保存文件:

echo set var1=%var1%> SETVARS.BAT
echo set var2=%var2%>> SETVARS.BAT
echo set var3=%var3%>> SETVARS.BAT

答案 1 :(得分:0)

现在有效!以前括号内容很糟糕但我现在使用以下方法制作保存文件:

':save
    del setvars.bat
    echo set var1=%var1% >> setvars.bat
    echo set var2= %var2% >> setvars.bat
    cls
    echo saved!
    pause >nul
    goto main'

并加载使用:

':load
    call setvars.bat
    cls
    echo loaded!
    pause >nul
    goto main'

谢谢大家! 附:事实上,我必须缩进这段代码,所以我可以提交答案是愚蠢的。批量通常不会缩进!