możliwe jest zmniejszenie nadmiernej ilości ścieżek w zmiennych środowiskowych PATH, wystarczy zapisać całą linię w notatniku, jako kopię zapasową, usunąć niektóre i przetestować.
Większość z nich istnieje, więc jeśli skrót nie ma pełnej ścieżki do „Celu”, jeśli „Początek w” nie jest ustawiony poprawnie w skrócie lub uruchomienie jest dziwne, program i jego części i elementy są zawsze znaleziony. W większości sytuacji jest bezpieczny. Nadal będziesz chciał w pełni przetestować użycie dowolnego programu, który usunąłeś jego ścieżki.
Jest to również bardzo przydatne dla osób, które wpisują polecenia w CMDprompt, nawet bez dysku CD, komputer będzie skanował każdą lokalizację, dopóki program o tej nazwie nie zostanie znaleziony i uruchomiony. Lub dowolne inne polecenie o tej samej nazwie :-)
Ten zestaw ścieżek WAS (kotwiczący) był ograniczony do mniej niż 255 znaków (lub 260), które zmieniły się kiedyś na 1024 jakiś czas temu, a następnie zostały załatane z powrotem w erze server'03, aby obsłużyć 2048, i podobno mógł obsłużyć 8096 w niektórych systemach, nawet dawno temu.
Rzeczywiste odkryte dziś ograniczenia, na które napotykają ludzie, znajdują się w CMDprompt, który ma limit długości ciągu poleceń, który obejmuje rozszerzanie zmiennych i ścieżek.
http://msdn.microsoft.com/en-us/library/windows/desktop/ms682653(v=vs.85).aspx tutaj Microsoft mówi:
„Maksymalny rozmiar zmiennej środowiskowej zdefiniowanej przez użytkownika wynosi 32 767 znaków. Nie ma technicznych ograniczeń co do wielkości bloku środowiska. Istnieją jednak praktyczne ograniczenia w zależności od mechanizmu używanego do uzyskania dostępu do bloku. Na przykład plik wsadowy nie można ustawić zmiennej dłuższej niż maksymalna długość wiersza poleceń. ”
W tej lokalizacji ^ wskazują lokalizację rejestru, która zawiera ścieżki systemowe. HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment
Musisz tam przeczytać resztę.
Po rozszerzeniu CMDprompt i ograniczenie partii wynosi 2048 znaków i mówi się, że jest czterokrotnie wyższe w przypadku nowszych systemów (wymaga cytowania, ponieważ ludzie tego nie widzą)
Zobacz także http://support.microsoft.com/kb/830473 , w którym omówiono wiersz polecenia i długość partii dla starszych systemów.
Aby upewnić się, że wpisy są tam poprawne, Wiki ma do powiedzenia:
http://en.wikipedia.org/wiki/Environment_variable
% PATH% Ta zmienna zawiera rozdzielaną średnikami ( nie umieszczaj spacji ) listę katalogów, w których interpreter poleceń wyszuka plik wykonywalny pasujący do podanego polecenia. Zmienne środowiskowe reprezentujące ścieżki mogą być zagnieżdżone w zmiennej PATH, ale tylko na jednym poziomie pośrednictwa. Jeśli sama ta zmienna środowiskowa podścieżki zawiera zmienną środowiskową reprezentującą ścieżkę, PATH nie rozwinie się prawidłowo w podstawieniu zmiennej.
Posiadanie tam wszystkich dodatkowych ścieżek spowalnia pewne rzeczy, ponieważ jest zmuszony szukać tych wszystkich miejsc, zanim się poddaje. Używanie pełnych ścieżek za każdym razem, gdy wywoływanie elementów pliku będzie zawsze szybsze, nawet podczas grupowania lub korzystania z polecenia CMD.
Używanie starych konwencji DOS jak 8.3 jest jednym ze sposobów zmniejszenia rozmiaru, ta partia Batch /programming//a/20362922 działa dobrze. pamiętaj (ponownie) o utworzeniu kopii zapasowej oryginalnego ciągu. Zobacz także inne możliwe rozwiązania tego pytania.
Oto jak wygląda mój, było gorzej.
% SystemRoot% \ system32;% SystemRoot%;% SystemRoot% \ System32 \ Wbem;% SYSTEMROOT% \ System32 \ WindowsPowerShell \ v1.0 \; C: \ Program Files (x86) \ QuickTime \ QTSystem \
Rzuciłbym szybki czas w mgnieniu oka, a programy AMD umieściły tam przedłużyć ścieżkę, rzucił ją, Adobee miał jedną, żadna z nich nie miała znaczenia dla standardowych metod skrótów / ikon GUI. Wiele rzeczy można usunąć, a następnie przetestować wszystkie funkcje. Jeśli wywołujesz różne rzeczy, wpisując polecenie CMD, usunięcie tych ścieżek nie będzie działać.
PATH
... Co prowadzi cię do podejrzeń, że to za długo? Czy VS rzuca jakiś błąd? Ponadto z jakiej wersji systemu Windows korzystasz?