13 votos

Demasiadas carpetas en la variable path

Me he encontrado con un extraño problema no puedo iniciar Visual Studio, ni ejecutar comandos simples desde el símbolo del sistema, aparentemente debido a mi la variable de PATHdemasiado larga. Ahora que lo miro, veo que muchas empresas han añadido sus instalar los directorios de la variable PATH.

Me preguntaba por qué estas empresas añadido a sus carpetas de la ruta de acceso (tal vez para facilitar la ejecución de sus programas?), y las que son necesarias y que puedo eliminar. Si puedo eliminar algunos de ellos, ¿no voy a ser capaz de lanzar los programas? (He aquí lo que existe actualmente en el camino)

12voto

Steven Hepting Puntos 2840

es posible reducir la cantidad excesiva de caminos en las variables de entorno PATH , sólo tienes que guardar toda la línea de salida a un bloc de notas, como una copia de seguridad y eliminar algunos y de prueba.

La mayoría de ellos son no por lo que si un acceso directo no tiene una ruta de acceso completa para establecer el "Objetivo", Si el "Iniciar En" no está ajustado en el acceso directo de manera correcta o un lanzamiento se realiza extrañamente su programa y sus partes y piezas se encuentran siempre. Es un Failsafe en la mayoría de las situaciones. Usted todavía desea probar completamente cualquier uso de cualquier programa que usted se retira de sus caminos.
También es muy útil para las personas que escribir los comandos en la CMDprompt, incluso sin necesidad de un CD, el equipo escaneará cada lugar, hasta que un programa con ese nombre se encuentra y ejecutar. O cualquier otro comando del mismo nombre :-)

Ese conjunto de caminos (anchient) limitada a menos de 255(or260) charachters , que cambió a 1024 algún momento hace mucho tiempo, luego fue parcheado de vuelta en el servidor'03 la era de manejar a 2048 , y que, supuestamente, podría manejar 8096 en algunos sistemas , incluso de hace mucho tiempo.

Las limitaciones reales de descubrir hoy que la gente se ejecuta en, es en el CMDprompt que tiene un límite en la longitud de la cadena de comando, que incluye la expansión de las variables y de los caminos.

http://msdn.microsoft.com/en-us/library/windows/desktop/ms682653(v=vs 85).aspx aquí Microsoft dice:

"El tamaño máximo de un usuario definido por la variable de entorno es 32.767 los caracteres. No hay ninguna limitación técnica en el tamaño de la bloque de entorno. Sin embargo, hay límites prácticos dependiendo de el mecanismo que se utiliza para acceder al bloque. Por ejemplo, un archivo de proceso por lotes no se puede establecer una variable que es más largo que el máximo de la línea de comandos longitud".

En ese lugar ^ apuntan a la ubicación del registro que contiene el sistema de caminos HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment Debe leer el resto de lo que hay.

El CMDprompt y lote limitación es de 2048 charachters una vez ampliado, y se dice que es 4 veces más que para los más nuevos sistemas (se necesita la cita porque la gente no está viendo que)

Ver también http://support.microsoft.com/kb/830473que analiza el símbolo del sistema y de los lotes de longitud para los sistemas más antiguos.

Para asegurarse de que las entradas son correctas allí, La wiki tiene esto que decir:
http://en.wikipedia.org/wiki/Environment_variable

%PATH% Esta variable contiene un delimitada por punto y coma (no poner espacios entre lalista de directorios en los que el intérprete de comandos se búsqueda de un archivo ejecutable que coincide con el comando dado. Las variables de entorno que representan los caminos pueden estar anidada dentro de la Variable PATH, pero sólo en un nivel de indirección. Si este subruta variable de entorno en sí mismo contiene una variable de entorno representan una ruta, la PATHde acceso no se expande adecuadamente en la variable la sustitución.

Tener todas las rutas en las que hay ralentiza ciertas cosas por un poco, porque se ve obligado a buscar en todos esos lugares, antes de que se le da. El uso de rutas de acceso completas siempre que llamar a los elementos de archivo siempre será más rápido, incluso cuando procesamiento por lotes o el uso de la CMDprompt.

Usando los viejos DOSlike 8.3 convenciones es una manera de reducir el tamaño, este Lote http://stackoverflow.com/a/20362922 funciona bien. asegúrese de que (de nuevo) a la copia de seguridad de la cadena original. Véase también la de otros posibles soluciones a esa pregunta.

Aquí es cómo la mina se ve, ha sido peor.
%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\QuickTime\QTSystem\

Me gustaría tirar de quicktime en un latido del corazón, y el AMDs programas han puesto un largo camino en el que hay antes, se lo tiró, Adobee había uno, ninguno de estos importaba para GUI estándar de acceso directo icono/métodos. Muchas cosas pueden ser removidos, a continuación, probar todas las funciones. Si llama a las cosas por escribir en la consola CMD , luego retirar esos caminos no funcionará.

9voto

Juliano Puntos 175

Tengo varios programas relacionados con el desarrollo de las variables de entorno en mi camino, todos los cuales son importantes.

La solución anterior no funciona para mí, así que me fui para uniones de directorios:

  • Seleccione algunos de los más largos caminos en mi CAMINO (Como C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\)
  • Crear una carpeta para almacenar mi uniones: c:\d\
  • Crear a corto uniones para trayectos largos:

mklink /j c:\d\sql "C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\"

Haciendo que el 15 de caminos reducido mi CAMINO de 2045 a 1285 caracteres.

Puede ser un problema cuando finalmente desinstalar cosas de su máquina uniones permanecerá allí en el camino y tendrás que borrarlos manualmente.

1voto

Zuhaib Puntos 136

Mientras que el máximo permitido en el camino es mucho más largo, que he encontrado por Stack Overflow respuestas autorizadas en este tema (y de Microsoft referencias) que el estado de un máximo expandida del valor de la ruta de 2048 bytes de trabajo, y nada más que eso causará problemas. Por "ampliado", me refiero a que ninguna de las variables marcadas con % delimitadores tendrán sus valores insertados para convertirse en el valor expandido, y el total ampliado la longitud no debe exceder de 2048 bytes. Me he dado cuenta de que los tipos de problemas que provoca (como el de Windows 7) son:

  • No reconoce los caminos al final de el valor
  • Instalación de software o parches que modificar el valor de la PATHprovocar que el valor de tiempo de ejecución para ser NULO, lo que provoca todo tipo de problemas al ejecutar Windows, como todos los de su Menú Inicio, el Escritorio y la Barra de Tareas los iconos de perder sus imágenes, y simples comandos del símbolo del sistema como "ping" o "ipconfig" comando show no se reconocen los errores
  • Los programas de aplicación basándose en los valores de PATHfallar

Personalmente, recomiendo otros sistemas operativos aparte de Windows, pero si usted está atrapado en él, entonces usted tiene que pasar sus horas de eliminación de entradas de ruta de acceso, pruebas para asegurarse de que no rompe nada, y obtener el valor de la ruta hacia 2048 bytes.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: