환경 변수가없는 경우를 대비하여 환경 변수를 설정하려고 시도하고 있는데, 존재하면 스크립트가 종료됩니다. 나는이 다음 코드로 시도하고있다.배치 파일을 사용하지 않을 경우 환경 변수를 설정하십시오.
@echo off
echo %machine% > c:\machineoutput.txt
findstr /I /c:"C:\Oracle\Ora12c\perl\bin" c:\machineoutput.txt
if %errorlevel% == 0 (
goto SETPATH
) else (
EOF
)
:SETPATH
setx /m machine "%oracle_home%\perl\bin;%path%"
:EOF
exit
하지만 어떻게해야 제대로 작동하지 않는 지 알 수 있습니다. 변수를 설정할 수 있지만 변수가 존재하더라도 다시 설정 한 다음 종료됩니다.
내가 잘못하고있는 것을 알아내는 데 도움을주십시오. C:\Oracle\Ora12c\perl\bin
가 %oracle_home%\perl\bin
시스템 환경 변수 PATH에 추가할지 여부를 결정하기 위해 비표준 환경 변수 machine
에 있는지 확인할 이유
은 왜 당신'고토 SETPATH' 첫 분기 만'EOF' 다른 지점에서 아무데도 가지 않고? –
@ LưuVĩnhPhúc이 배치 파일은 다른 배치 파일에서 호출되므로 경로가 존재하면이 배치 파일이 종료되고 호출 된 곳의 상위 배치 파일이 작업을 다시 시작합니다.이 파일의 EOF로갑니다. 경로가 존재하지 않으면 경로가 설정됩니다. – n00b
아니요, EOF가 유효한 명령이 아니므로 오류가 발생합니다. 발가락 EOF 레이블을 사용하려면'goto EOF'를 사용하십시오. –