[windows] Windows 10에서 환경 변수가 너무 큼

나는 이것이 이상하다는 것을 알고 있으며 유용한 솔루션을 얻지 않고 온라인으로 솔루션을 검색하는 데 거의 3 일을 보냈습니다. 그래서 여기에 오기로 결정했습니다.

최근에 Windows 8.1에서 Windows 10으로 업그레이드했습니다.

이제 새로운 Apache Maven 설치를위한 환경 변수를 설정하고 싶었습니다.

사용자 변수를 만들 때마다 문제가 없습니다. 그러나 사용자 변수에서 aready가 작성한 변수에 “path”가되도록 bin 디렉토리를 추가해야하는 시스템 변수도 작성해야합니다.

이제이 작업을 수행 할 때마다 “이 환경 변수가 너무 큽니다.이 결과 경로를 만들 수 없습니다.

이 오류의 이미지를 첨부했습니다.

누구 든지이 문제를 해결하도록 도와 줄 수 있다면 감사하겠습니다.

도움을 주셔서 감사합니다.여기에 이미지 설명을 입력하십시오



답변

PATH 변수에 너무 많은 값이 오버로드되면 더 이상 값을 추가 할 수없는 지점에 도달합니다. 다음을 시도하면 문제가 해결됩니다.

해결책 1 :

  1. ‘NEWPATH’라는 새 시스템 변수를 만듭니다.
  2. bin 디렉토리 위치를 ‘NEWPATH’에 지정하십시오.
  3. 이제 ‘ ; % NEWPATH % ‘를 PATH 변수에 추가

그래도 문제가 해결되지 않으면 기존의 PATH 변수 일부를 ‘NEWPATH’에 복사 한 다음 ‘NEWPATH’를 추가하십시오.

해결책 2 :

경로를 그룹화하고 단축 할 수있는 경우 PATH 변수 값을 확인하십시오. 예를 들어

C : \ Program Files \ Microsoft SQL Server \ 102 \ Tools \ Binn \; C : \ 프로그램 파일 \ Microsoft SQL Server \ 102 \ DTS \ Bin \;

에 결합 될 수있다

C : \ Program Files \ Microsoft SQL Server;

이런 식으로 고정 길이 PATH 변수에 더 많은 공간을 확보하고 마지막으로 bin 디렉토리 위치를 PATH로 조정할 수 있습니다.

이것이 당신에게 도움이되기를 바랍니다!


답변

경로 변수를 정리하는 몇 가지 방법이 있습니다. 가장 쉬운 방법은 Rapid Environment Editor 를 사용하는 것 입니다. 이 무료 유틸리티는

  1. 중복 경로를 제거하십시오 (마우스 오른쪽 단추 클릭> 정리 경로).
  2. 존재하지 않는 폴더 제거 (빨간색으로 표시되어 수동으로 삭제해야 함)
  3. 긴 경로를 짧은 경로로 바꿉니다 (오른쪽 클릭> 긴 경로에서 짧은 경로로).

위의 단계를 순서대로 수행하고 경로 변수 크기가 다시 제어 될 때까지 가장 긴 경로에 대해서만 3 단계를 사용하십시오.

좀 더 발전 하고 싶다면 구현하려는 다른 로직으로 수정할 수있는 작은 C # 도구 가 있습니다.


답변

Environment PATH 변수 길이 제한을 무시하는 또 다른 솔루션 또는 해결 방법은 PowerShell스크립트 를 사용하여 경로를 관리 (추가, 제거 또는 업데이트)하는 것입니다 .

  1. “텍스트 편집”(위 스크린 샷 참조)을 클릭하여 현재 PATH 변수를 캡처하고 클립 보드에 복사 한 다음 텍스트 파일에 백업으로 저장하여 놀라움을 피하십시오. 이것은 필수 사항은 아니지만 문제가 발생한 경우 복구 할 수 있습니다.

  2. 이제 백업되었으므로 새 PowerShell (.ps1) 파일에 다음을 추가합니다 (추가하려는 폴더 경로 (+ 부호 뒤의 부분)와 함께 아래 첫 번째 줄을 수정).

    $ newPath = $ env : 경로 + ‘; C : \ Users …. \ FirstFolderToAddToPath; C : \ Users …. \ SecondFolderToAddToPath; ‘

    [Environment] :: SetEnvironmentVariable ( “경로”, $ newPath, “기계”)

    $ env : Path = $ newPath

이것은 Windows 10 UI를 사용하여 재생 한 후 길이 제한으로 인해 대부분의 경로를 잃어 버린 (긴) PATH 변수를 다시 얻는 방법입니다. 도움이 되길 바랍니다.


답변

Swapnil의 답변 외에도 Path 변수의 최대 길이를 수정할 수 있습니다. 그렇지 않으면 2048 자로 제한됩니다 (단일 경로는 206 자로 제한됩니다). Windows 10에서는 LongPathsEnabled레지스트리 키를 1 로 설정하면 됩니다.

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem

레지스트리 편집기에 액세스하려면을 Windows Key+R입력하십시오 Regedit.

출처 : https://superuser.com/a/1119980

https://superuser.com/a/1119980/327009 에서이 수퍼 유저 답변을 확인하십시오.

아래 주석을 언급하면 ​​”환경 변수가 너무 큽니다”라는 오류는 현재 추가되는 단일 경로가 아니라 전체 변수와 관련이 있습니다.


답변

늦게 대답했지만 비슷한 것을 찾고 있었고 여기서 끝났습니다. 프로그램 파일 및 프로그램 데이터에 대한 모든 경로를 변수로 변경했습니다 (중요하지는 않지만 1 문자를 저장합니다).

nodejs와 같은 것을 위해 정상적인 경로를 변경했습니다.

C : \ 프로그램 파일 \ nodejs \

% ProgramFiles % \ nodejs \

“C : \ Program Files (x86) \”및 “% ProgramFiles (x86) % \”를 사용하여 수행 할 수 있습니다.

그것은 나에게 약간의 문자를 저장했지만 충분하다고 느끼는 불만을 멈추었습니다.


답변

PowerShell을 통해 할 수 있다는 것을 알았습니다.

[System.Environment]::SetEnvironmentVariable("PATH", "C:\Program Files (x86......etc.....", "Machine")

그래서 기존 시스템 PATH를 잡고 메모장에 붙여 넣고 새로운 것을 추가 한 다음 위의 “C : \ Program Files”비트에 붙여 넣었습니다. 경로가 업데이트되었습니다. 끝난.


답변

에 의해 수정 해보십시오 regedit , 내 경우에 때 길이가 3000 개 이상의 작동합니다.

을 누르고 Win + R입력 regedit하여 regedit를 엽니 다. 로 이동 하여 경로 Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment값을 수정 Path하십시오. 그리고 컴퓨터를 다시 시작하면 작동합니다.