Ich weiß, dass dies seltsam ist, und ich habe fast 3 Tage damit verbracht, online nach der Lösung zu suchen, ohne eine nützliche zu bekommen. Also habe ich beschlossen, hierher zu kommen.
Ich habe kürzlich ein Upgrade von Windows 8.1 auf Windows 10 durchgeführt.
Jetzt wollte ich eine Umgebungsvariable für meine neue Installation von Apache Maven festlegen.
Jedes Mal, wenn ich die Benutzervariable erstellt habe, sind die Dinge in Ordnung. Ich muss jedoch auch die Systemvariable erstellen, in der ich das bin-Verzeichnis an die Variable anhängen muss, die ich bereits in der Benutzervariablen erstellt habe, um "Pfad" zu sein.
Jedes Mal, wenn ich dies tue, erhalte ich einen Fehler mit der Aufschrift "Diese Umgebungsvariable ist zu groß. Infolgedessen kann ich den Pfad nicht erstellen.
Ich habe ein Bild dieses Fehlers angehängt.
Ich werde es begrüßen, wenn mir jemand helfen kann, dieses Problem zu lösen.
quelle
PATH
Umgebungsvariablen stoppen . Die richtige Lösung gibt es seit fast zwei Jahrzehnten . Aber Entwickler dazu zu bringen, es zu benutzen, ist wie Zähne ziehen.Antworten:
Wenn die PATH-Variable mit zu vielen Werten überladen wird, erreicht sie einen Punkt, an dem Sie keine Werte mehr hinzufügen können. Wenn Sie Folgendes versuchen, sollte Ihr Problem gelöst sein.
Lösung 1:
Wenn dies immer noch nicht funktioniert, versuchen Sie, einen Teil der bereits vorhandenen Werte der PATH-Variablen in den 'NEWPATH' zu kopieren und dann den 'NEWPATH' anzuhängen.
Lösung 2:
Überprüfen Sie den Wert der Variablen PATH, wenn Sie die Pfade gruppieren und verkürzen können. Beispielsweise,
C: \ Programme \ Microsoft SQL Server \ 102 \ Tools \ Binn \; C: \ Programme \ Microsoft SQL Server \ 102 \ DTS \ Bin \;
kann kombiniert werden mit
C: \ Programme \ Microsoft SQL Server;
Auf diese Weise können Sie mehr Speicherplatz in Ihre PATH-Variable mit fester Länge einbauen und schließlich den Speicherort Ihres bin-Verzeichnisses in PATH anpassen.
Hoffe das hilft dir!
quelle
setx PATH
da%NEWPATH%
dadurch die Zeichenfolge direkt aufgelöst wird und die resultierende Zeichenfolge erneut zu lang wird. Bei diesem Ansatz sollte also nur der Dialog und nicht die Befehlszeile verwendet werdenpdflatex
muss in seinPATH
, wenn ich den Ort vonpdflatex
in eingebe,NEWPATH
wirdpdflatex
es nicht mehr gefunden ("der Befehlpdflatex
wird nicht erkannt" ...)Es gibt nur wenige Möglichkeiten, Ihre Pfadvariable zu bereinigen. Am einfachsten ist es, den Rapid Environment Editor zu verwenden . Dieses kostenlose Dienstprogramm wird,
Ich mache die obigen Schritte der Reihe nach und verwende den 3. Schritt nur für die längsten Pfade, bis die Größe der Pfadvariablen wieder die Kontrolle hat.
Wenn Sie fortgeschrittener werden möchten, finden Sie hier ein kleines C # -Tool , das Sie an jede andere Logik anpassen können, die Sie implementieren möchten.
quelle
Eine andere Lösung oder mehr eine Problemumgehung zur Umgehung der variablen Längenbeschränkung für den Umgebungspfad besteht darin, Ihren Pfad (Hinzufügen, Entfernen oder Aktualisieren) mithilfe eines
PowerShell
Skripts zu verwalten.Erfassen Sie die aktuelle PATH-Variable, indem Sie auf "Text bearbeiten" klicken (siehe Abbildung oben), kopieren Sie sie in Ihre Zwischenablage und speichern Sie sie als Backup in einer Textdatei, um böse Überraschungen zu vermeiden. Dies ist nicht obligatorisch, ermöglicht Ihnen jedoch die Wiederherstellung, falls etwas schief gehen sollte.
Fügen Sie nach dem Sichern einer neuen PowerShell-Datei (.ps1) Folgendes hinzu (ändern Sie die erste Zeile unten mit den Ordnerpfaden, die Sie hinzufügen möchten (der Teil nach dem + -Zeichen):
$ newPath = $ env: Pfad + '; C: \ Users .... \ FirstFolderToAddToPath; C: \ Users .... \ SecondFolderToAddToPath; '
[Umgebung] :: SetEnvironmentVariable ("Pfad", $ newPath, "Maschine")
$ env: Path = $ newPath
Auf diese Weise konnte ich meine (lange) PATH-Variable zurückbekommen, nachdem ich mit der Windows 10-Benutzeroberfläche gespielt hatte, von der Längenbeschränkung erfasst wurde und den größten Teil meines Pfades verlor. Ich hoffe, es hilft.
quelle
setx /m
1048 Zeichen abgeschnitten :(. Sie können den Pfad auch im Texteditor bearbeiten und dies einfach tun[Environment]::SetEnvironmentVariable("Path", '\my\new;path1', "Machine")
. Sie benötigen eine Admin-Shell.Beachten Sie, dass Sie zusätzlich zur Antwort von Swapnil die maximale Länge der Pfadvariablen ändern können, die ansonsten auf 2048 Zeichen begrenzt ist (während ein einzelner Pfad eine historische Grenze von 206 Zeichen hat). In Windows 10 erreichen Sie dies, indem Sie den
LongPathsEnabled
Registrierungsschlüssel auf 1 setzen. Diese finden Sie hier:Um den Registrierungs - Editor zuzugreifen:
Windows Key+R
GebenRegedit
.Quelle: https://superuser.com/a/1119980
Schauen Sie sich auch diese SuperUser-Antwort an: https://superuser.com/a/1119980/327009
Adressierung des folgenden Kommentars: Der Fehler "Umgebungsvariable ist zu groß" bezieht sich auf die gesamte Variable und nicht auf den einzelnen Pfad, der gerade hinzugefügt wird.
quelle
Späte Antwort, aber ich suchte nach etwas Ähnlichem und landete hier. Ich habe alle Pfade zu Variablen für Programmdateien und Programmdaten geändert (dieser speichert wie 1 Zeichen, obwohl nicht so wichtig).
Für so etwas wie nodejs habe ich den normalen Pfad von geändert
C: \ Programme \ nodejs \
zu
% ProgramFiles% \ nodejs \
Dies kann auch mit "C: \ Programme (x86)" und "% ProgramFiles (x86)%" erfolgen.
Es hat mir ein paar Charaktere erspart, aber genug, dass ich mich nicht mehr beschwere.
quelle
Ich habe festgestellt, dass Sie dies über PowerShell tun können.
Also griff ich nach dem vorhandenen Systempfad, fügte ihn in den Editor ein, fügte mein neues Ding hinzu und fügte ihn dann in das oben genannte Bit "C: \ Programme" ein. Pfad aktualisiert. Getan.
quelle
Versuchen Sie, zu ändern
regedit
, in meinem Fall funktioniert es, wenn die Länge mehr als 3000 beträgt.Drücken Sie
Win + R
undregedit
drücken Sie die Eingabetaste , um regedit zu öffnen. Gehen Sie zuComputer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
und ändern Sie den WertPath
Ihres Pfades. Und Computer neu starten, sollte es funktionieren.quelle
Problemumgehung:
Bitte starten Sie das System neu. Nach dem Neustart des Systems ist PATH nicht mehr leer, kann jedoch auf 2047 (4095) Zeichen gekürzt werden. Wenn der Neustart des Systems nicht hilft, bitte:
Starten Sie c: \ windows \ system32 \ regedit.exe Wechseln Sie zur Registrierungsstruktur "HKLM \ SYSTEM \ CurrentControlSet \ Control \ Session Manager \ Environment". Bereinigen Sie unnötige Verzeichnisse mit dem Schlüssel "Path". Starten Sie das System neu
Hinweis: In einigen Ausnahmefällen, wenn das System nicht gestartet werden kann, bitte:
Im abgesicherten Modus anmelden Öffnen Sie die Eingabeaufforderungsshell und geben Sie Folgendes ein: reg add "HKLM \ SYSTEM \ CurrentControlSet \ Control \ Session Manager \ Environment" / v Pfad / t REG_EXPAND_SZ / d ^% SystemRoot ^% \ system32; ^% SystemRoot ^% / f
Für weitere Informationen: https://software.intel.com/en-us/articles/limitation-to-the-length-of-the-system-path-variable
quelle
4095
?Zusätzlich zu anderen Methoden (z. B. Powershell) habe ich eine nette GUI gefunden, "Rapid Environment Editor", die größere Textwerte verarbeiten kann.
https://www.rapidee.com/de/download
quelle
Anscheinend wird Rapid Environment Editor dies für Sie tun (aus der Antwort von @shatil_shah), aber Sie können auch die Pfade zu ihrer "8dot3" -Version verkürzen. Mit nur diesen beiden Ersatzteilen erhalten Sie eine Menge Kilometer:
Wenn Sie Ihren aktuellen Pfad in Notepad kopieren, suchen und ersetzen Sie ihn zuerst
C:\Program Files (x86)
und dannC:\Progam Files
.quelle
Workarround. Verwenden Sie Text bearbeiten und bearbeiten Sie Ihren PFAD in einem Texteditor
quelle
Edit Text
, anstatt eine Datei zu öffnen.