Windows: Maximale Parameter-Länge Kommandozeile/Batch-Datei
Frage von Gast | 25.08.2014 um 16:27
Gibt es unter Windows bei der Kommandozeile (CMD.EXE) oder in Batch-Dateien (BAT) eigentlich eine Zeichenbegrenzung für die Länge der Parameter?
Oder ist es möglich über die Eingabeaufforderung oder ein Batch-Skript beliebig lange Parameter an Programme zu übergeben?
Ähnliche Themen
Windows Batch Script: Computer herunterfahren
Tutorial | 2 Kommentare
Delphi/Lazarus: Kommandozeilen Parameter Tutorial Teil 1: Senden
Tutorial | 0 Kommentare
Windows per Skript in den Ruhezustand oder Energiesparmodus versetzen
Tutorial | 0 Kommentare
Textdateien mit fester Zeilenlänge umschreiben
Tutorial | 0 Kommentare
Delphi/Lazarus: Kommandozeilen Parameter Tutorial Teil 2: Empfangen
Tutorial | 0 Kommentare
Textdateien mit gemischten Zeilenumbrüchen reparieren
Tutorial | 0 Kommentare
CSS-Stylesheets in HTML einbinden
Tutorial | 0 Kommentare
Wichtiger Hinweis
Bitte beachten Sie: Die Beiträge auf askingbox.de sind Beiträge von Nutzern und sollen keine professionelle Beratung ersetzen. Sie werden nicht von Unabhängigen geprüft und spiegeln nicht zwingend die Meinung von askingbox.de wieder. Mehr erfahren.
Jetzt mitmachen
Stellen Sie Ihre eigene Frage oder schreiben Sie Ihren eigenen Artikel auf askingbox.de. So gehts.
Sowohl bei der Kommandozeile als auch bei Batch Dateien gibt es eine Beschränkung von insgesamt 8191 Zeichen ab Windows XP und neueren Windows Versionen. Ältere Betriebssysteme wie Windows 2000 oder Windows NT 4.0 haben eine Beschränkung von 2047 Zeichen.
Diese Zeichenbegrenzung bezieht sich immer auf die Gesamtlänge des Befehls. Das heißt dass alle Parameter einschließlich Leerzeichen und der Name des Programms zusammen diese Länge nicht überschreiten dürfen. Gibt man beispielsweise den Befehl "prog.exe /p1 /p2 C:/dat.txt" sind das 27 benutzte Zeichen.
26.08.2014 um 08:23
Die Antwort ist fast korrekt. Windows XP verarbeitet bis zu 8191 Zeichen, die älteren UND AUCH DIE NEUEREN Windows-Versionen verarbeiten 2047 Zeichen.
Quelle: http://support.microsoft.com/kb/830473/de
Diese Länge gilt für die Kommandozeile sowie für alle in einer Kommandozeile verarbeiteten expandierten Variablen. Also "set HUGO=%1 %1" funktioniert nicht, wenn der Parameter %1 schon fast die maximale Länge erreicht, obwohl die Zeile so schön kurz aussieht.
05.11.2014 um 14:53