Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En este artículo se describe la limitación de la longitud de las cadenas que se usan desde el símbolo del sistema en el símbolo del sistema (Cmd.exe). También proporciona métodos que puede usar para solucionar esta limitación.
Se aplica a: Windows Server 2012 R2, Windows Server 2008 R2 Service Pack 1, Windows 7 Service Pack 1
Número de KB original: 830473
Más información
La longitud máxima de la cadena que puede usar en el símbolo del sistema es de 8191 caracteres.
Esta limitación se aplica a:
- la línea de comandos
- variables de entorno individuales heredadas por otros procesos, como la variable PATH
- todas las expansiones de variables de entorno
Si usa el símbolo del sistema para ejecutar archivos por lotes, esta limitación también se aplica al procesamiento de archivos por lotes.
Ejemplos
En los ejemplos siguientes se muestra cómo se aplica esta limitación a los comandos que se ejecutan en el símbolo del sistema y los comandos que se usan en un archivo por lotes.
En el símbolo del sistema, la longitud total de la siguiente línea de comandos no puede contener más de 8191 caracteres:
cmd.exe /k ExecutableFile.exe parameter1, parameter2... parameterNEn un archivo por lotes, la longitud total de la siguiente línea de comandos no puede contener más de 8191 caracteres:
cmd.exe /k ExecutableFile.exe parameter1, parameter2... parameterNEsta limitación se aplica a las líneas de comandos contenidas en archivos por lotes cuando se usa el símbolo del sistema para ejecutar el archivo por lotes.
En el símbolo del sistema, la longitud total de después de expandir
EnvironmentVariable2yEnvironmentVariable3no puede contener más deEnvironmentVariable18191 caracteres:c:> set EnvironmentVariable1 = EnvironmentVariable2 EnvironmentVariable3En un archivo por lotes, la longitud total de la siguiente línea de comandos después de expandir los parámetros no puede contener más de 8191 caracteres:
ExecutableFile.exe parameter1 parameter2Aunque la limitación de Win32 para las variables de entorno es de 32 767 caracteres, el símbolo del sistema omite las variables de entorno que se heredan del proceso primario y son más largas que sus propias limitaciones de 8191 caracteres (según corresponda para el sistema operativo). Para obtener más información sobre la
SetEnvironmentVariablefunción, vea Función SetEnvironmentVariableA.
Cómo solucionar la limitación
Para solucionar la limitación, use uno o varios de los métodos siguientes, según corresponda a su situación:
Modifique los programas que requieren líneas de comandos largas para que usen un archivo que contenga la información de parámetros y, a continuación, incluya el nombre del archivo en la línea de comandos.
Por ejemplo, en lugar de usar la
ExecutableFile.exe Parameter1 Parameter2... ParameterNlínea de comandos en un archivo por lotes, modifique el programa para usar una línea de comandos similar a la siguiente línea de comandos, donde ParameterFile es un archivo que contiene los parámetros necesarios (parámetro1 parámetro2... ParameterN):ExecutableFile.exe c:\temp\ParameterFile.txtModifique los programas que usan variables de entorno grandes para que las variables de entorno contengan menos de 8191 caracteres.
Por ejemplo, si la variable de entorno PATH contiene más de 8191 caracteres, use uno o varios de los métodos siguientes para reducir el número de caracteres:
- Use nombres más cortos para carpetas y archivos.
- Reduzca la profundidad de los árboles de carpetas.
- Almacene archivos en menos carpetas para que se necesiten menos carpetas en la variable de entorno PATH.
- Investigue los posibles métodos que puede usar para reducir la dependencia de PATH para localizar archivos .dll.