En este artículo se explica la limitación de la longitud de las cadenas que se usan en el símbolo del sistema de la herramienta Cmd.exe y los métodos que puede utilizar para evitarla.
En los equipos que ejecutan Microsoft Windows XP o posterior, la longitud máxima de la cadena que puede usar en el símbolo del sistema es de 8191 caracteres. En los equipos que ejecutan Microsoft Windows 2000 o Windows NT 4.0, la longitud máxima de la cadena que puede usar en el símbolo del sistema es de 2047 caracteres.
Esta limitación se aplica a la línea de comandos, a las variables de entorno individuales (como la variable PATH) que heredan otros procesos y a todas las expansiones de las variables de entorno. Si utiliza el símbolo del sistema para ejecutar archivos por lotes, esta limitación también se aplica a su procesamiento.
Ejemplos
En la lista siguiente se ofrecen algunos ejemplos de cómo se aplica esta limitación a los comandos que se ejecutan en el símbolo del sistema y a los que se usan en un archivo por lotes.
- En el símbolo del sistema, la longitud total de la línea de comandos siguiente no puede contener más de 2047 ó 8191 caracteres (según corresponda al sistema operativo):
cmd.exe /k archivoEjecutable.exe parámetro1, parámetro2 ... parámetroN
- En un archivo por lotes, la longitud total de la línea de comandos siguiente no puede contener más de 2047 ó 8191 caracteres (según corresponda al sistema operativo):
cmd.exe /k archivoEjecutable.exe parámetro1, parámetro2 ... parámetroN
Esta limitación se aplica a las líneas de comandos contenidas en los archivos por lotes cuando se utiliza el símbolo del sistema para ejecutar el archivo por lotes. - En el símbolo del sistema, la longitud total de variableDeEntorno1 después de expandir variableDeEntorno2 y variableDeEntorno3 no pueden contener más de 2047 ó 8191 caracteres (según corresponda al sistema operativo):
c:> set variableDeEntorno1=variableDeEntorno2variableDeEntorno3
- En un archivo por lotes, la longitud total de la línea de comandos siguiente después de expandir las variables de entorno en la línea de comandos no puede contener más de 2047 ó 8191 caracteres (según corresponda al sistema operativo):
archivoEjecutable.exe parámetro1parámetro2
- Aunque la limitación de Win32 para las variables de entorno es de 32.767 caracteres, el símbolo del sistema omite cualquier variable de entorno que se herede del proceso primario y que supere sus propias limitaciones de 2047 ó 8191 caracteres (según corresponda al sistema operativo). Para obtener más información acerca de la función SetEnvironmentVariable, visite el siguiente sitio Web de Microsoft:
Cómo evitar la limitación
Para evitar la limitación, utilice uno o varios de los métodos siguientes según su situación.
Id. de artículo: 830473 - Última revisión: miércoles, 09 de mayo de 2007 - Versión: 1.3
La información de este artículo se refiere a:
- 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