Windows批处理文件的文件大小和行长度限制

zed*_*doo 8 windows batch-file

我正在生成一个可能变得非常大的Windows批处理文件,比如几兆字节.我已经搜索了关于批处理文件中最大文件大小和最大行长度的可能限制,但我找不到任何内容.有实际经验吗?

sch*_*der 9

我认为filesize可以是高达2 GB的任何东西,甚至更多.它是一种解释型语言,因此如果这样做,文件大小限制应该是文件系统的文件大小限制.我从来没有批处理文件太大的错误,我创建的其中一些是几个MB的大小.

应该有一个行长度限制,但它应该超过256.这可以很容易地测试,只需做一些"设置A = 123456789012 ... endofline",之后"echo%A%",你会看到你能走多远.

它适用于我很长的线路(4K左右),但是在8K时echo会给出一条消息,"线路太长",所以8192字节应该是一些限制.

现在测试文件大小,测试了"回声关闭",成千上万的设置行,在"回声结束"之后,它适用于11 MB文件(虽然它需要几秒钟才能完成:) - 这里没有限制.

110 MB也有效.这够了吗?;)

  • 另请注意,这是针对最后一行(使用已替换的变量),因此如果%a%是长度超过4K的字符串,则echo%a %% a%将失败! (3认同)
  • 不,只是测试过.8K似乎是一个硬限制,即使是分裂. (2认同)

SS6*_*S64 6

CMD 中任何命令行(或变量)的最大长度为8191 个字符