Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

File-size and line-length limits for Windows batch files

I am generating a Windows batch file that might become quite large, say a few megabytes. I've searched for possible limits regarding the maximum file size and maximum length of a line in a batch file, but I couldn't find anything. Any practical experiences?

like image 309
zedoo Avatar asked Aug 01 '09 18:08

zedoo


2 Answers

The maximum length of any command line (or variable) within CMD is 8191 characters.

like image 68
SS64 Avatar answered Nov 03 '22 05:11

SS64


I think filesize can be anything up to 2 GB, perhaps even more. It's an interpreted language, so if this is done right, filesize limit should be the filesize limit of the file system. I never had any errors with batch files being too large, and some of those I created were several MBs in size.

There should be a line length limit, but it should be more than 256. This can easily be tested, just do some "set A=123456789012...endofline", after that "echo %A%", and you'll see how far you can go.

It works for me with very long lines (around 4K), but at 8K echo gives a message, "Line too long", so 8192 bytes should be some limit.

Now tested for filesize, too, tested with "echo off", thousands of set lines, after that "echo end", and it worked for a 11 MB file (although it took some seconds to finish :) - no limit in sight here.

110 MB worked, too. Is this enough? ;)

like image 37
schnaader Avatar answered Nov 03 '22 06:11

schnaader