【发布时间】:2016-12-23 09:42:09
【问题描述】:
我有点好奇我可以在批处理文件中设置多少个变量。
我这里有一个小脚本
@ECHO OFF
SETLOCAL EnableDelayedExpansion
FOR /L %%P IN (1,1,2147483647) DO (
SET Foo[%%P]=%%P
ECHO !Foo[%%P]!
)
但是这个脚本需要很长时间才能运行。那么,有没有办法找出可变金额限制? (当然还有多少变量可以在批处理文件中使用。)
编辑:
因为下面的评论说 var.由于操作系统不同,金额可能会有所不同。因此,如果您愿意回答,请使用Windows 7 64bit w/ 4 GB RAM 作为您的指导方针。
任何帮助将不胜感激!
【问题讨论】:
-
我认为变量的数量没有硬性限制(至少从 Windows Vista 开始),唯一的限制是 RAM 的数量; environment variables 存储为一个以空字符结尾的字符串列表,由变量名称、等号和变量值组成,因此变量名称越长,值越长,可以定义的变量就越少。 .
-
Win XP Pro(可能还有所有后续版本)环境的最大空间为 64 MB。请参阅this page(在“设置环境变量,注意”下方)。
-
@Ken White 我对此有点好奇。但是你正确地指出了问题。
-
@aschipfl 这将是一个更好的解决方案,但我还不知道。也许你可以为我做更多的演示,谢谢
-
@aschipfl 现在我明白了您的意思,感谢您的帮助。
标签: batch-file variables cmd