He encontrado un problema extraño: no puedo iniciar Visual Studio ni ejecutar comandos simples desde el símbolo del sistema, aparentemente debido a que mi variable PATH es demasiado larga. Ahora que lo miro, veo que muchas compañías han agregado sus directorios de instalación a la variable PATH.
Me preguntaba por qué estas compañías agregaron sus carpetas a la ruta (¿quizás para simplificar la ejecución de sus programas?), Y cuáles son necesarias y cuáles puedo eliminar. Si elimino algunos de ellos, ¿no podré iniciar los programas? ( Esto es lo que existe actualmente en el camino)
PATH
... ¿Qué te lleva a sospechar que es demasiado largo? ¿VS está arrojando algún tipo de error? Además, ¿qué versión de Windows está ejecutando?ping
. Además, parece que esto no es raro con Visual Studio . También se mencionó aquí que el límite para la RUTA usando la línea de comando es alrededor de 2000.The type initializer for 'Microsoft.VisualStudio.Platform.WindowManagement.WindowManagerService' threw an exception.
Respuestas:
Es posible reducir la cantidad excesiva de rutas en las variables de entorno RUTA, simplemente guarde toda la línea en un bloc de notas, como una copia de seguridad y elimine algunas y pruebe.
La mayoría de ellos están ahí, de modo que si un acceso directo no tiene una ruta completa establecida para el "Destino", si el "Inicio en" no está configurado correctamente en el acceso directo o si el inicio se realiza de manera extraña, su programa y sus partes y piezas son siempre encontró. Es a prueba de fallas en la mayoría de las situaciones. Todavía querría probar completamente cualquier uso de cualquier programa que eliminó sus rutas.
También es muy útil para las personas que escriben comandos en el CMDprompt, incluso sin un CD, la computadora escaneará cada ubicación, hasta que se encuentre y se ejecute un programa con ese nombre. O cualquier otro comando del mismo nombre :-)
Ese conjunto de rutas estaba limitado a menos de 255 (o 260) caracteres, que cambió a 1024 hace algún tiempo, luego fue parcheado en la era del servidor 03 para manejar 2048, y supuestamente podría manejar 8096 en algunos sistemas, incluso Hace mucho tiempo.
Las limitaciones reales descubiertas hoy en día con las que se topan las personas se encuentran en el CMDprompt, que tiene un límite en la longitud de la cadena de comandos, que incluye la expansión de las variables y las rutas.
http://msdn.microsoft.com/en-us/library/windows/desktop/ms682653(v=vs.85).aspx aquí Microsoft dice:
En esa ubicación ^ apuntan a la ubicación del registro que contiene las rutas del sistema.
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment
Debe leer el resto allí.El CMDprompt y la limitación de lote son 2048 caracteres una vez expandidos, y se dice que es 4 veces mayor que para los sistemas más nuevos (necesita citación porque la gente no está viendo eso)
Consulte también http://support.microsoft.com/kb/830473 , que trata sobre el símbolo del sistema y la longitud del lote para sistemas más antiguos.
Para asegurarse de que las entradas sean correctas allí, la wiki tiene esto que decir:
http://en.wikipedia.org/wiki/Environment_variable
Tener todos los caminos adicionales allí ralentiza ciertas cosas un poco, porque luego se ve obligado a mirar en todos esos lugares, antes de que se rinda. El uso de rutas completas cada vez que se llaman elementos de archivo siempre será más rápido, incluso cuando se procesa por lotes o se usa CMDprompt.
El uso de antiguas convenciones 8.3 de DOSlike es una forma de reducir el tamaño, este lote /programming//a/20362922 funciona bien. asegúrese (de nuevo) de hacer una copia de seguridad de la cadena original. Vea también las otras posibles soluciones a esa pregunta.
Así es como se ve el mío, ha sido peor.
% SystemRoot% \ system32;% SystemRoot%;% SystemRoot% \ System32 \ Wbem;% SYSTEMROOT% \ System32 \ WindowsPowerShell \ v1.0 \; C: \ Archivos de programa (x86) \ QuickTime \ QTSystem \
Lanzaría el tiempo rápido en un instante, y los programas de AMD han puesto un camino extendido allí antes, lo lancé, Adobee tenía uno, ninguno de estos importaba para los métodos estándar de acceso directo / icono de la GUI. Se pueden eliminar muchas cosas y luego probar todas las funciones. Si llama a las cosas escribiendo en el indicador CMD, entonces eliminar esas rutas no funcionará.
fuente
Tengo varias variables de entorno relacionadas con el desarrollo de software en mi camino, todas las cuales son importantes.
La solución anterior no funcionaría para mí, así que fui por uniones de directorios :
C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\
)Hacer eso en 15 caminos redujo mi RUTA de 2045 a 1285 caracteres.
Puede ser un problema cuando finalmente desinstale cosas de su máquina ya que las uniones permanecerán allí en el camino y tendrá que limpiarlas manualmente.
fuente
Si bien el máximo permitido en la ruta es mucho más largo, he encontrado en las respuestas autorizadas de Stack Overflow sobre este tema (y referencias de Microsoft) que establecen que un valor de ruta expandido máximo de 2048 bytes funcionará, y cualquier cosa más larga que eso causará problemas. Por "expandido" quiero decir que cualquier variable denotada con% delimitadores tendrá sus valores insertados para convertirse en el valor expandido, y la longitud total expandida no debe exceder los 2048 bytes. He notado que los tipos de problemas que causa (a partir de Windows 7) son:
Personalmente, recomiendo otros sistemas operativos además de Windows, pero si está atascado en él, entonces debe pasar sus horas eliminando las entradas de ruta, probando para asegurarse de que no rompa nada, y reduzca el valor de la ruta a 2048 bytes.
fuente