powershell
의 명령어가 아무것도 먹히지 않는다.
드라이브를 찾을 수 없습니다. 이름이 '.C'인 드라이브가 없습니다
처음에는 여기를 참고했는데 에러는 같지만 해결은 하지 못했음
시스템 - 고급 시스템 설정 - 고급 - 환경 변수로 사용자 변수를 확인했을때 PATH
가 .C
로 시작하는 경로가 없었다
물론 시스템 변수의 PATH
에도 존재하지 않음
다른 명령어는 콘솔에서 안되는데 $
달러사인은 가능함
$env:PATH
명령어로 PATH
가 어떻게 구성되어있는지 확인을 했다
하나씩 봐야해서 힘들었다
;
세미콜론으로 한문장을 구분하면 되며, 빨간 네모를 확인하면 .C
로 시작하는 Zulu
에 관련한 환경변수가 존재하는것을 확인할 수 있다
하지만 해당 PATH
가 주입되는것이 어디에 설정을 해야하는지 못찾았다
할때마다 노가다지만... 해당 powershell
에서만 바꿔주는식으로 잠시 하기로 했다
$env:PATH
명령어로 나온 결과를 메모장에 모두 옮기고, .C/
라고 되어있는 부분의 .
을 제거했다
그후 $env:PATH = "(변경한 경로)"
명령어를 통해 일시적으로 환경변수를 변경해주었다
그리고 확인을하면 제대로 들어간것을 확인할 수 있다
다른 기본 명령어도 잘되는것을 확인할 수 있다
하지만 아직 완벽하게 해결한 것이 아니다
이렇게 수동으로 환경변수를 바꿔주면 해당 powershell
을 끌때마다 다시 환경변수를 지정해주어야 한다
추후에 해결방법을 알아낸다면 추가로 이어 쓰겠습니다.
여기를 참고했습니다
SetEnvironmentVariable
를 활용했습니다SetEnvironmentVariable(variable, value) | SetEnvironmentVariable(variable, value, target) |
---|---|
현재 프로세스에 저장되어 있는 환경 변수를 생성, 수정 또는 삭제 | 현재 프로세스 또는 현재 사용자나 로컬 컴퓨터에 예약된 Windows 운영 체제 레지스트리 키에 저장되어 있는 환경 변수를 생성, 수정 또는 삭제 |
variable
과 value
는 String
이고,
target
은 EnvironmentVariableTarget
이다
variable
는 환경 변수의 이름
value
는 variable
에 할당할 값
target
은 환경 변수의 위치를 지정하는 EnvironmentVariableTarget
열거형 값 중 하나
EnvironmentVariableTarget
열거형
"Machine" | "Process" | "User" |
---|---|---|
환경변수는 Windows 운영 체제 레지스트리의 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment 키에서 저장되거나 검색된다. 이 값은 Windows 시스템에서만 실행되는 .NET 구현에 사용되어야 한다 | 환경 변수는 현재 프로세스와 연결된 환경 블록에서 저장되거나 검색된다 | 환경 변수는 Windows 운영 체제 레지스트리의 HKEY_CURRENT_USER\Environment 키에서 저장되거나 검색된다.이 값은 Windows 시스템에서만 실행되는 .NET 구현에 사용되어야 한다 |
해당 환경변수를 변경하고 싶다면 Machine
을 사용하면 된다
현재 $env:Path
에 정상적인 값을 집어넣은 상태이기 때문에 value
에는 현재값을 그대로 삽입
powershell
을 열더라도 환경변수에 에러가 없는것을 확인할 수 있다