Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Artikel wird die Einschränkung auf die Länge der Zeichenfolgen beschrieben, die Sie über die Eingabeaufforderung in der Eingabeaufforderung (Cmd.exe) verwenden. Außerdem werden Methoden bereitgestellt, mit denen Sie diese Einschränkung umgehen können.
Gilt für: Windows Server 2012 R2, Windows Server 2008 R2 Service Pack 1, Windows 7 Service Pack 1
Ursprüngliche KB-Nummer: 830473
Weitere Informationen
Die maximale Länge der Zeichenfolge, die Sie an der Eingabeaufforderung verwenden können, beträgt 8191 Zeichen.
Diese Einschränkung gilt für:
- die Befehlszeile
- einzelne Umgebungsvariablen, die von anderen Prozessen geerbt werden, z. B. die PATH-Variable
- Alle Umgebungsvariablenerweiterungen
Wenn Sie die Eingabeaufforderung zum Ausführen von Batchdateien verwenden, gilt diese Einschränkung auch für die Batchdateiverarbeitung.
Beispiele
Die folgenden Beispiele zeigen, wie diese Einschränkung auf Befehle angewendet wird, die Sie in der Eingabeaufforderung ausführen, und Befehle, die Sie in einer Batchdatei verwenden.
In der Eingabeaufforderung darf die Gesamtlänge der folgenden Befehlszeile nicht mehr als 8191 Zeichen enthalten:
cmd.exe /k ExecutableFile.exe parameter1, parameter2... parameterN
In einer Batchdatei darf die Gesamtlänge der folgenden Befehlszeile nicht mehr als 8191 Zeichen enthalten:
cmd.exe /k ExecutableFile.exe parameter1, parameter2... parameterN
Diese Einschränkung gilt für Befehlszeilen, die in Batchdateien enthalten sind, wenn Sie die Eingabeaufforderung zum Ausführen der Batchdatei verwenden.
In der Eingabeaufforderung kann die Gesamtlänge nach
EnvironmentVariable1
dem ErweiternEnvironmentVariable2
undEnvironmentVariable3
darf nicht mehr als 8191 Zeichen enthalten:c:> set EnvironmentVariable1 = EnvironmentVariable2 EnvironmentVariable3
In einer Batchdatei darf die Gesamtlänge der folgenden Befehlszeile nach dem Erweitern der Parameter nicht mehr als 8191 Zeichen enthalten:
ExecutableFile.exe parameter1 parameter2
Obwohl die Win32-Beschränkung für Umgebungsvariablen 32.767 Zeichen beträgt, ignoriert die Eingabeaufforderung alle Umgebungsvariablen, die vom übergeordneten Prozess geerbt werden, und sind länger als ihre eigenen Einschränkungen von 8191 Zeichen (je nach Betriebssystem). Weitere Informationen zur
SetEnvironmentVariable
Funktion finden Sie unter SetEnvironmentVariableA-Funktion.
So umgehen Sie die Einschränkung
Wenn Sie die Einschränkung umgehen möchten, verwenden Sie eine oder mehrere der folgenden Methoden, je nach Ihrer Situation:To work around the limitation, use one or more of the following methods, as appropriate to your situation:
Ändern Sie Programme, die lange Befehlszeilen erfordern, damit sie eine Datei verwenden, die die Parameterinformationen enthält, und fügen Sie dann den Namen der Datei in die Befehlszeile ein.
Ändern Sie z. B. anstelle der
ExecutableFile.exe Parameter1 Parameter2... ParameterN
Befehlszeile in einer Batchdatei das Programm so, dass eine Befehlszeile verwendet wird, die der folgenden Befehlszeile ähnelt, wobei ParameterFile eine Datei ist, die die erforderlichen Parameter enthält (Parameter1 Parameter2... ParameterN):ExecutableFile.exe c:\temp\ParameterFile.txt
Ändern Sie Programme, die große Umgebungsvariablen verwenden, sodass die Umgebungsvariablen weniger als 8191 Zeichen enthalten.
Wenn die PATH-Umgebungsvariable beispielsweise mehr als 8191 Zeichen enthält, verwenden Sie eine oder mehrere der folgenden Methoden, um die Anzahl der Zeichen zu verringern:
- Verwenden Sie kürzere Namen für Ordner und Dateien.
- Verringern Sie die Tiefe der Ordnerstrukturen.
- Speichern Sie Dateien in weniger Ordnern, sodass weniger Ordner in der PATH-Umgebungsvariable erforderlich sind.
- Untersuchen Sie mögliche Methoden, mit denen Sie die Abhängigkeit von PATH reduzieren können, um .dll Dateien zu finden.