Limitazione di stringa della riga di comando del prompt dei comandi (cmd. exe)

Il supporto per Windows XP è terminato

Il supporto Microsoft per Windows XP è terminato l'8 aprile 2014. Questa modifica ha interessato gli aggiornamenti software e le opzioni di sicurezza. Ulteriori informazioni su come continuare a essere protetti.

Il supporto per Windows Server 2003 è terminato il 14 luglio 2015.

Microsoft ha sospeso il supporto per Windows Server 2003 in data 14 luglio 2015. Questa modifica ha interessato gli aggiornamenti software e le opzioni di sicurezza. Ulteriori informazioni su come continuare a essere protetti.

IMPORTANTE: il presente articolo è stato tradotto tramite un software di traduzione automatica di Microsoft ed eventualmente revisionato dalla community Microsoft tramite la tecnologia CTF (Community Translation Framework) o da un traduttore professionista. Microsoft offre articoli tradotti manualmente e altri tradotti automaticamente e rivisti dalla community con l’obiettivo di consentire all'utente di accedere a tutti gli articoli della Knowledge Base nella propria lingua. Tuttavia, un articolo tradotto automaticamente, anche se rivisto dalla community, non sempre è perfetto. Potrebbe contenere errori di vocabolario, di sintassi o di grammatica. Microsoft declina ogni responsabilità per imprecisioni, errori o danni causati da una traduzione sbagliata o dal relativo utilizzo da parte dei clienti. Microsoft aggiorna frequentemente il software e gli strumenti di traduzione automatica per continuare a migliorare la qualità della traduzione.

Clicca qui per visualizzare la versione originale in inglese dell’articolo: 830473
Sommario
Questo articolo viene descritto la limitazione alla lunghezza delle stringhe utilizzabili dal prompt dei comandi nel prompt dei comandi (Cmd.exe) e i metodi che è possibile utilizzare per aggirare questa limitazione.
Informazioni
Nei computer che eseguono Microsoft Windows XP o versioni successive, la lunghezza massima della stringa che è possibile utilizzare il prompt dei comandi è 8191 caratteri. Nei computer che eseguono Microsoft Windows 2000 o Windows NT 4.0, la lunghezza massima della stringa che è possibile utilizzare il prompt dei comandi è 2047 caratteri.

Questa limitazione si applica alla riga di comando, singole variabili di ambiente (ad esempio la variabile PATH) che vengono ereditate da altri processi e tutte le espansioni di variabili di ambiente. Se si utilizza il prompt dei comandi per eseguire i file batch, questa limitazione si applica anche per l'elaborazione di file batch.

Esempi

Nell'elenco seguente sono riportati alcuni esempi di come questa limitazione si applica ai comandi eseguiti nel prompt dei comandi e i comandi utilizzati in un file batch.
  • Nel prompt dei comandi, non può contenere più di 8191 caratteri (a seconda del sistema operativo) o either2047 la lunghezza totale della linea di followingcommand che è possibile utilizzare il prompt dei comandi:
    /k cmd.exe ExecutableFile.exe parametro1, parametro2 ... parameterN
  • In un file batch, la lunghezza totale della seguente riga di comando che è possibile utilizzare nel file batch non può contenere più di una delle due or8191 di 2047 caratteri (a seconda del sistema operativo):
    /k cmd.exe ExecutableFile.exe parametro1, parametro2 ... parameterN
    Questa limitazione si applica a righe di comando che arecontained nei file batch quando si utilizza il prompt dei comandi per eseguire il batchfile.
  • Nel prompt dei comandi, la lunghezza totale delEnvironmentVariable1 Dopo aver apertoEnvironmentVariable2 eEnvironmentVariable3 non può contenere più di either2047 o 8191 caratteri (a seconda del sistema operativo):
    c: > impostare EnvironmentVariable1=EnvironmentVariable2EnvironmentVariable3
  • In un file batch, la lunghezza totale della riga di comando riportata di seguito dopo avere espandere le variabili di ambiente in cannotcontain la riga di comando più di 2047 o 8191 caratteri (come appropriato al sistema di youroperating):
    ExecutableFile.exe parametro1parametro2
  • Anche se la limitazione di Win32 per i caratteri di ambiente variablesis 32.767, prompt dei comandi Ignora tutte le variabili di ambiente che areinherited dal processo padre e più di un proprio caratteri di ofeither 2047 o 8191 limitazioni (a seconda del sistema operativo). Informazioni Formore il SetEnvironmentVariable funzione, visitare il seguente sito Web Microsoft:

Come ovviare alla limitazione

Per ovviare alla limitazione, utilizzare uno o più dei seguenti metodi (a seconda della situazione):
  • Modificare i programmi che richiedono lunghe righe di comando in modo thatthey utilizzare un file che contiene le informazioni sui parametri e quindi includere il nome del file nella riga di comando.

    Ad esempio, anziché usingthe ExecutableFile.exe Parametro1 Parametro2 ...ParameterN riga di comando in un file batch, modificare il programma di utilizzare una riga di comando simile alla seguente riga di comando, doveParameterFile è un file che contiene i (requiredparametersparametro1 parametro2...ParameterN):
    ExecutableFile.exe c:\temp\ParameterFile. txt
  • Modificare i programmi che utilizzano sothat di variabili di ambiente di grandi dimensioni che le variabili di ambiente contengono meno di 2047 o 8191 caratteri (a seconda del sistema operativo).

    Se la variabile PATHenvironment contiene più di uno dei due 2047 o 8191 caratteri (asappropriate il sistema operativo), utilizzare uno o più di methodsto la seguente, ad esempio, ridurre il numero di caratteri:
    • Utilizzare nomi più brevi per file e cartelle.
    • Ridurre la profondità delle strutture di cartelle.
    • Archiviare i file nelle cartelle di un numero inferiore in modo che sono necessarie meno cartelle nella variabile di ambiente PATH.
    • Provare a utilizzare metodi che è possibile utilizzare per ridurre la dipendenza del percorso per l'individuazione dei file DLL.
cmd cmd.exe "prompt dei comandi" 2048 2047 2046 8192 8191 ambiente variabile percorso riga di comando

Avviso: questo articolo è stato tradotto automaticamente

Proprietà

ID articolo: 830473 - Ultima revisione: 06/29/2015 19:32:00 - Revisione: 1.0

Windows Server 2012 R2 Standard, Windows Server 2012 R2 Datacenter, Windows Server 2012 R2 Essentials, Windows Server 2012 R2 Foundation, Windows Server 2012 Standard, Windows Server 2012 Datacenter, Windows Server 2012 Essentials, Windows Server 2012 Foundation, Windows Server 2008 R2 Service Pack 1, Windows Server 2008 R2 Standard, Windows Server 2008 R2 Datacenter, Windows Server 2008 R2 Enterprise, Windows Server 2008 R2 Foundation, Windows Server 2008 Service Pack 2, Windows Server 2008 Standard, Windows Server 2008 Datacenter, Windows Server 2008 Foundation, 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, Windows 8.1 RTM, Windows 8.1 Pro, Windows 8.1 Enterprise, Windows 7 Professional, Windows 7 Enterprise, Windows 7 Home Premium, 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

  • kbinfo kbmt KB830473 KbMtit
Feedback