é possível reduzir a quantidade excessiva de caminhos nas variáveis de ambiente PATH, basta salvar a linha inteira em um bloco de notas, como um backup, remover alguns e testar.
A maioria deles existe, portanto, se um atalho não tiver um caminho completo definido para o "Destino", se o "Iniciar em" não estiver definido corretamente no atalho ou se um lançamento for feito estranhamente, seu programa e suas partes e partes serão sempre encontrado. É um à prova de falhas na maioria das situações. Você ainda deseja testar completamente qualquer uso de qualquer programa que tenha removido seus caminhos.
Também é muito útil para as pessoas que digitam comandos no CMDprompt, mesmo sem um CD, o computador verifica cada local até que um programa com esse nome seja encontrado e executado. Ou qualquer outro comando com o mesmo nome :-)
Esse conjunto de caminhos foi limitado a menos de 255 (or260) charachters, que mudaram para 1024 há muito tempo, e foram remendados na era server'03 para lidar com 2048, e supostamente podiam lidar com 8096 em alguns sistemas, até muito tempo atras.
As verdadeiras limitações descobertas hoje em que as pessoas se deparam estão no CMDprompt, que tem um limite no comprimento da cadeia de comandos, que inclui a expansão das variáveis e caminhos.
http://msdn.microsoft.com/en-us/library/windows/desktop/ms682653(v=vs.85).aspx aqui A Microsoft diz:
"O tamanho máximo de uma variável de ambiente definida pelo usuário é 32.767 caracteres. Não há limitações técnicas no tamanho do bloco de ambiente. No entanto, existem limites práticos dependendo do mecanismo usado para acessar o bloco. Por exemplo, um arquivo em lotes não pode definir uma variável maior que o comprimento máximo da linha de comando ".
Nesse local ^, eles apontam para o local do registro que contém os caminhos do sistema. HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment
Deve ler o restante lá.
O CMDprompt e a limitação de lote são 2048 caracteres uma vez expandidos, e diz-se que é 4x o maior para os sistemas mais recentes (precisa de citação porque as pessoas não estão vendo isso)
Consulte também http://support.microsoft.com/kb/830473 , que discute o prompt de comando e o tamanho do lote para sistemas mais antigos.
Para garantir que as entradas estejam corretas, o wiki tem o seguinte a dizer:
http://en.wikipedia.org/wiki/Environment_variable
% PATH% Essa variável contém uma lista de diretórios delimitados por ponto-e-vírgula ( não coloque espaços no meio ) nos quais o interpretador de comandos procurará um arquivo executável que corresponda ao comando fornecido. Variáveis de ambiente que representam caminhos podem ser aninhadas na variável PATH, mas apenas em um nível de indireção. Se a própria variável de ambiente do subcaminho contiver uma variável de ambiente representando um caminho, o PATH não será expandido corretamente na substituição da variável.
Ter todos os caminhos extras lá diminui bastante algumas coisas, porque é forçado a procurar em todos esses lugares, antes que desista. O uso de caminhos completos sempre que chamar itens de arquivo será sempre mais rápido, mesmo quando estiver em lote ou usando o CMDprompt.
O uso de convenções antigas do tipo 8.3 é uma maneira de reduzir o tamanho, este Lote /programming//a/20362922 funciona bem. certifique-se (novamente) de fazer backup da sequência original. Veja também as outras soluções possíveis nessa pergunta.
Aqui está a minha aparência, tem sido pior.
% SystemRoot% \ system32;% SystemRoot%;% SystemRoot% \ System32 \ Wbem;% SYSTEMROOT% \ System32 \ WindowsPowerShell \ v1.0 \; C: \ Arquivos de Programas (x86) \ QuickTime \ QTSystem \
Eu jogava fora o quicktime em um piscar de olhos, e os programas da AMD colocavam um caminho extenso lá antes, lançavam-no, Adobee tinha um, nenhum deles importava para os métodos padrão de atalho / ícone da GUI. Muitas coisas podem ser removidas e teste todas as funções. Se você chamar as coisas digitando no prompt do CMD, a remoção desses caminhos não funcionará.
PATH
... O que leva você a suspeitar que é muito longo? O VS está lançando algum tipo de erro? Além disso, qual versão do Windows você está executando?