사용자 지정 Windows 7 환경 변수가 작동하지 않습니다.


0

Windows 7 고급 시스템 설정을 통해 새로운 환경 변수를 만들었습니다.

VAR_MYPATH = "D:\someFolder"

동일한 대화 상자에서 경로에 새 변수를 추가했습니다.

PATH = ...;%VAR_MYPATH%

새 명령 프롬프트를 실행하고 "CD % VAR_PATH %"를 입력하면 오류가 반환되지 않지만 명령 프롬프트는 "D : \ someFolder"로 변경되지 않습니다.

내 C 드라이브에서 해당 폴더 아래에 배치 파일을 시작하려고하면 오류가 발생합니다.

c:> %VAR_MYPATH%\someSubfolder\theBatchFile.bat
The system cannot find the path specified

모든 경로가 정확하므로 환경 변수를 얻으려면 무엇을 놓치고 있습니까?

답변:


3
  1. MS-DOS와의 호환성 및 COMMAND.COM, Windows cmd.exe 쉘은 명부 "현재 디렉터리", 각 드라이브 문자 하나, cd 명령은 디렉토리를 변경하지만 현재 드라이브는 변경하지 않습니다.

    용도 cd /d %var_mypath% 현재 드라이브를 변경합니다.

  2. 변수 값에 따옴표를 넣지 마십시오. 그렇게한다면, %VAR_MYPATH%\someSubfolder\theBatchFile.bat 확장 할 것이다 "d:\someFolder"\someSubfolder\theBatchFile.bat이것은 물건을 혼란스럽게 할 수 있습니다. (다시, 호환성을 위해, cmd.exe 많은 단점을 상속한다. COMMAND.COM이상한 따옴표 붙은 텍스트 파서 포함).

  3. 실제로 변수를 확인하십시오. 존재하다 당신의 현재에 cmd.exe 창 중 하나를 실행하여 set var_mypath 또는 echo %var_mypath%. (각 프로세스는 부모로부터 환경을 상속받습니다.)


신속한 답변에 감사드립니다. 나는 변수가 존재하고 인용문이 없다는 것을 확인했다. # 2에 대한 귀하의 제안이 효과가있었습니다. 그래도 C 드라이브에서 배치 파일을 실행할 수는 없습니다. 어떤 아이디어.
TERACytE

@TERACytE : 배치 파일이 C : 또는 D :입니까?
grawity

D : (d : \ someFolder \ someSubfolder \ theBatchFile.bat). 어디서나 실행하고 싶습니다 (예 : C :).
TERACytE

@TERACytE : Do echo %VAR_MYPATH% \someSubfolder \theBatchFile.batdir %VAR_MYPATH% \someSubfolder \theBatchFile.bat 올바른 파일을 보여 주시겠습니까? 경로에 공백이 있습니까? 오류가 배치 파일 자체에 실제로 표시되지 않았습니까? 댓글을 달아보십시오. echo off 볼 문장.
grawity

알았어! 경로의 마지막 슬래시 바로 앞에 공백이있었습니다. 도와 줘서 고마워.
TERACytE
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.