질문과 답변
기 타 배치 파일 질문 올립니다.
2024.10.24 17:23
JAVA를 조용히 설치하기 위해서 아래와 같은 배치 파일이 있습니다.
------------------------------------------------------------------------------
@echo off
bcdedit>nul||(powershell start -v runas '%0' '%* '&exit/b)
title 조용히 설치
pushd "%~dp0"
color 1f
setlocal
for /f "tokens=*" %%a in ('dir /b /od "%~dp0\jre*64.exe" 2^>nul') do set "java64=%%a"
if exist "%~dp0\%java64%" (
start /wait "" "%~dp0\%java64%"
echo installed
) else (
echo doesn't exist
)
pause
endlocal
exit /b
----------------------------------------------------------------------------
현재 폴더에 자바 설치 파일이 있을 경우에는 이상없이 잘 설치됩니다.
그런데 설치 파일을 삭제하고 배치파일을 실행한 경우에,
결과 값이 doesn't exist 라고 나와야 하는데 ,
엉뚱하게 결과 값이 installed 라고 나오고 덤으로 시키지도 않은 현재폴더 탐색기까지 열립니다.
위 구문 중 어느 부분이 잘못된 것인지 가르침을 구하고자 질문 올립니다.
감사합니다.
폴더는 있기 때문에 나타나는 현상인 것 같습니다.
@echo off
bcdedit>nul||(powershell start -v runas '%0' '%* '&exit/b)
title 조용히 설치
pushd "%~dp0"
color 1f
setlocal
for /f "tokens=*" %%a in ('dir /b /od "jre*64.exe" 2^>nul') do set "java64=%%a"
if exist "%java64%" (
start /wait "" "%java64%"
echo installed
) else (
echo doesn't exist
)
pause
endlocal
exit /b