Cursos
Ruta de aprendizaje
Uso de variables, matrices y tablas hash en scripts de Windows PowerShell - Training
En esta ruta de aprendizaje se explica cómo trabajar con variables, matrices y tablas hash en Windows PowerShell.
Este explorador ya no se admite.
Actualice a Microsoft Edge para aprovechar las características y actualizaciones de seguridad más recientes, y disponer de soporte técnico.
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
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:
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.
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... parameterN
En 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... parameterN
Esta 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 EnvironmentVariable2
y EnvironmentVariable3
no puede contener más de EnvironmentVariable1
8191 caracteres:
c:> set EnvironmentVariable1 = EnvironmentVariable2 EnvironmentVariable3
En 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 parameter2
Aunque 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 SetEnvironmentVariable
función, vea Función SetEnvironmentVariableA.
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... ParameterN
lí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.txt
Modifique 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:
Cursos
Ruta de aprendizaje
Uso de variables, matrices y tablas hash en scripts de Windows PowerShell - Training
En esta ruta de aprendizaje se explica cómo trabajar con variables, matrices y tablas hash en Windows PowerShell.