Help and Support
 

powered byLive Search

Command prompt (Cmd. exe) command-line string limitation

Article ID:830473
Last Review:February 1, 2007
Revision:1.3
On This Page

SUMMARY

This article discusses the limitation to the length of the strings that you use from the command prompt in Command Prompt (Cmd.exe) and the methods that you can use to work around this limitation.

Back to the top

MORE INFORMATION

On computers running Microsoft Windows XP or later, the maximum length of the string that you can use at the command prompt is 8191 characters. On computers running Microsoft Windows 2000 or Windows NT 4.0, the maximum length of the string that you can use at the command prompt is 2047 characters.

This limitation applies to the command line, individual environment variables (such as the PATH variable) that are inherited by other processes, and all environment variable expansions. If you use Command Prompt to run batch files, this limitation also applies to batch file processing.

Back to the top

Examples

The following list gives you some examples of how this limitation applies to commands that you run in Command Prompt and commands that you use in a batch file.
In Command Prompt, the total length of the following command line that you use at the command prompt cannot contain more than either 2047 or 8191 characters (as appropriate to your operating system):
cmd.exe /k ExecutableFile.exe parameter1, parameter2 ... parameterN
In a batch file, the total length of the following command line that you use in the batch file cannot contain more than either 2047 or 8191 characters (as appropriate to your operating system):
cmd.exe /k ExecutableFile.exe parameter1, parameter2 ... parameterN
This limitation applies to command lines that are contained in batch files when you use Command Prompt to run the batch file.
In Command Prompt, the total length of EnvironmentVariable1 after you expand EnvironmentVariable2 and EnvironmentVariable3 cannot contain more than either 2047 or 8191 characters (as appropriate to your operating system):
c:> set EnvironmentVariable1=EnvironmentVariable2EnvironmentVariable3
In a batch file, the total length of the following command line after you expand the environment variables in the command line cannot contain more than either 2047 or 8191 characters (as appropriate to your operating system):
ExecutableFile.exe parameter1parameter2
Even though the Win32 limitation for environment variables is 32,767 characters, Command Prompt ignores any environment variables that are inherited from the parent process and are longer than its own limitations of either 2047 or 8191 characters (as appropriate to the operating system). For more information about the SetEnvironmentVariable function, visit the following Microsoft Web site:
http://msdn2.microsoft.com/en-us/library/ms686206.aspx (http://msdn2.microsoft.com/en-us/library/ms686206.aspx)

Back to the top

How to work around the limitation

To work around the limitation, use one or more of the following methods (as appropriate to your situation):
Modify programs that require long command lines so that they use a file that contains the parameter information, and then include the name of the file in the command line.

For example, instead of using the ExecutableFile.exe Parameter1 Parameter2 ...ParameterN command line in a batch file, modify the program to use a command line that is similar to the following command line, where ParameterFile is a file that contains the required parameters (parameter1 parameter2 ...ParameterN):
ExecutableFile.exe c:\temp\ParameterFile.txt
Modify programs that use large environment variables so that the environment variables contain less than either 2047 or 8191 characters (as appropriate to your operating system).

For example, if the PATH environment variable contains more than either 2047 or 8191 characters (as appropriate to your operating system), use one or more of the following methods to reduce the number of characters:
Use shorter names for folders and files.
Reduce the depth of folder trees.
Store files in fewer folders so that fewer folders are required in the PATH environment variable.
Investigate possible methods that you can use to reduce the dependency of PATH for locating .dll files.

Back to the top


APPLIES TO
Microsoft Windows Server 2003, Datacenter Edition (32-bit x86)
Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)
Microsoft Windows Server 2003, Standard Edition (32-bit x86)
Microsoft Windows Server 2003, Web Edition
Microsoft Windows XP Home Edition
Microsoft Windows XP Professional
Microsoft Windows 2000 Advanced Server
Microsoft Windows 2000 Professional Edition
Microsoft Windows 2000 Server
Microsoft Windows NT Server 4.0 Standard Edition
Microsoft Windows NT Workstation 4.0 Developer Edition

Back to the top

Keywords: 
kbinfo KB830473

Back to the top

Article Translations

 

Other Support Options

  • Need More Help?
    Contact a Support professional by Email, Online or Phone.
  • Customer Service
    For non-technical assistance with product purchases, subscriptions, online services, events, training courses, corporate sales, piracy issues, and more.
  • Newsgroups
    Pose a question to other users. Discussion groups and Forums about specific Microsoft products, technologies, and services.