Limitação da cadeia de caracteres de linha de comando do prompt de comando (Cmd. exe)

Traduções deste artigo Traduções deste artigo
ID do artigo: 830473 - Exibir os produtos aos quais esse artigo se aplica.
Expandir tudo | Recolher tudo

Neste artigo

Sumário

Este artigo descreve a limitação do comprimento das cadeias de caracteres usadas do prompt de comando no Prompt de Comando (Cmd.exe) e os métodos que podem ser usados como solução alternativa dessa limitação.

Mais Informações

Nos computadores executando o Microsoft XP ou posterior, o comprimento máximo da cadeia de caracteres que é possível usar no prompt de comando é de 8191 caracteres. Nos computadores executando o Microsoft Windows 2000 ou o Windows NT 4.0, o comprimento máximo da cadeia de caracteres que é possível usar no prompt de comando é de 2047 caracteres.

Essa limitação aplica-se à linha de comando, às variáveis de ambiente individual (como a variável PATH), que são herdadas por outros processos, e a todas as expansões de variável de ambiente. Se você usar o Prompt de Comando para executar arquivos em lotes, a limitação também se aplicará ao processamento do arquivo em lotes.

Exemplos

A lista a seguir mostra alguns exemplos de como essa limitação se aplica aos comandos executados no Prompt de Comando e usados em um arquivo em lotes.
  • No Prompt de Comando, o comprimento total da seguinte linha de comando usada no prompt de comando não pode ter mais que 2047 ou 8191 caracteres (conforme apropriado ao sistema operacional):
    cmd.exe /k ArquivoExecutável.exe parâmetro1, parâmetro2 ... parâmetroX
  • Em um arquivo em lotes, o comprimento total da seguinte linha de comando usada no arquivo em lotes não pode ter mais do que 2047 ou 8191 caracteres (conforme apropriado ao sistema operacional):
    cmd.exe /k ArquivoExecutável.exe parâmetro1, parâmetro2 ... parâmetroX
    Essa limitação se aplica às linhas de comando contidas nos arquivos em lotes ao usar o Prompt de Comando para executar um arquivo em lotes.
  • No Prompt de Comando, o comprimento total da EnvironmentVariable1 após expandir a EnvironmentVariable2 e a EnvironmentVariable3 não pode conter mais do que 2047 ou 8191 caracteres (conforme apropriado a cada sistema operacional):
    c:> set VariávelDeAmbiente1=VariávelDeAmbiente2VariávelDeAmbiente3
  • Em um arquivo em lotes, o comprimento total da seguinte linha de comando, após a expansão das variáveis de ambiente na linha de comando, não pode conter mais do que 2047 ou 8191 caracteres (conforme apropriado ao sistema operacional):
    ArquivoExecutável.exeparâmetro1parâmetro2
  • Apesar do limite Win32 para as variáveis de ambiente ser de 32.767 caracteres, o Prompt de Comando ignora as variáveis de ambiente herdadas do processo pai e são mais compridas do que seus próprios limites, tanto de 2047 caracteres quanto de 8191 (conforme apropriado ao sistema operacional). Para obter mais informações sobre a função DefinirVariávelDeAmbiente, visite o seguinte site da Microsoft (em inglês):
    http://msdn2.microsoft.com/en-us/library/ms165702.aspx

Como usar a solução alternativa para o limite

Para usar a solução alternativa para o limite, use um ou mais dos seguintes métodos (conforme apropriado à situação):
  • Modifique os programas que exigem linhas de comando compridas, assim, eles usarão um arquivo que tenha a informação de parâmetro, e inclua o nome do arquivo na linha de comando.

    Por exemplo, em vez de usar a linha de comando no arquivo em lote ArquivoExecutável.exeParâmetro1 Parâmetro2 ...ParâmetroX, modifique o programa para usar a linha de comando semelhante à seguinte linha de comando, em que ArquivoDeParâmetro é um arquivo que contém os parâmetros solicitados (parâmetro1parâmetro2 ...ParâmetroX):
    ArquivoExecutável.exe c:\temp\ArquivoDeParâmetro.txt
  • Modifique os programas que usam variáveis de ambiente compridas, assim, as variáveis de ambiente terão menos de 2047 ou 8191 caracteres (conforme apropriado ao sistema operacional).

    Por exemplo, se a variável de ambiente PATH tiver mais do que 2047 ou 8191 caracteres (conforme apropriado ao sistema operacional), use um ou mais dos seguintes métodos para reduzir o número de caracteres:
    • Use nomes menores para pastas e arquivos.
    • Reduza a profundidade das árvores de pastas.
    • Armazene os arquivos em menos pastas para que menos pastas sejam requisitadas na variável de ambiente PATH.
    • Investigue possíveis métodos que podem ser usados para reduzir a dependência do PATH para localizar os arquivos .dll.

Propriedades

ID do artigo: 830473 - Última revisão: sexta-feira, 4 de maio de 2007 - Revisão: 1.5
A informação contida neste artigo aplica-se 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
Palavras-chave: 
kbinfo KB830473

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com