我最近一直在玩批处理,我正在尝试编写一个存储每个生成值的生成器。
生成器位于一个标签中:
:gene2
set /a wid= %RANDOM% * (%maxval% - %minval% + 1) / 32768 + %minval%
set /a hei= %RANDOM% * (%maxval% - %minval% + 1) / 32768 + %minval%
set /a dep= %RANDOM% * (%maxval% - %minval% + 1) / 32768 + %minval%
set /a vol= %wid% * %hei% * %dep%
set /a flo= %wid% * %dep%
假设生成器能够运行5次并记住%vol%
的每个数字生成器。
在生成器重置之前如何存储%vol%
的值?因为当完成所有5个结果(%vol1%
到%vol5%
)时,它们的值都与生成的第一个值相同。
答案 0 :(得分:0)
我不确定%vol1%到%vol5%是什么意思,因为我没有看到这些变量或者你是怎样的"存储"他们。
但是,如果通过单击同一个批处理文件调用此批处理文件5次。然后,每次批处理文件位于不同的cmd会话中时,变量中设置的值都将丢失。
为了跟踪生成的变量,我建议将它们写入文件以便以后检索。
您可以执行类似
的操作set /a vol= %wid% * %hei% * %dep%
echo %vol%>>C:\MyVars\vols.txt
如果您使用">>"您将附加文件,或者您可以使用">"在每次运行时覆盖该文件。
在批处理文件的开头读取vols.txt文件,如
set /p Vol=<C:\MyVars\vols.txt
然后您在下一个会话中获得之前的卷值。
如果您添加有关您要实现的目标的更多信息,我可以提供更多帮助。