본문 바로가기
JAVA/Muzi

[Window] host파일 배치로 ip등록

by 미눅스[멘토] 2025. 7. 4.
728x90

우선 txt 파일에 복붙해서 넣는다. 그리고 

set hostip= 123.123.123.12
set hostname=test.test.com

부분만 넣어 주려는 ip와 hostname 을 수정한다

@echo off

echo =========================== Got Admin Grant ===========================

echo got Admin 

>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
if '%errorlevel%' NEQ '0' (
  echo Run as Administrator...
  goto UACPrompt
) else ( goto gotAdmin )
:UACPrompt
  echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
  set params = %*:"=""
  echo UAC.ShellExecute "cmd.exe", "/c %~s0 %params%", "", "runas", 1 >> "%temp%\getadmin.vbs"
  "%temp%\getadmin.vbs"
  del "%temp%\getadmin.vbs"
  exit /B
:gotAdmin

echo =========================== Add Host ===========================

:: 사용자에게 필요한 Host 정보 모두 등록
set hostip= 123.123.123.12
set hostname=test.test.com

echo Host Add

:: hosts 파일에 이미 존재하는지 확인하고 없으면 새 줄로 추가
findstr /IC:"%hostip%" C:\Windows\System32\drivers\etc\hosts >nul
if errorlevel 1 (
  echo Adding host entry...
  (
    echo.
    echo %hostip%    %hostname%    #visit
  ) >> C:\Windows\System32\drivers\etc\hosts
) else (
  echo Host entry already exists.
)

echo "설치 완료"

pause

 

저장 후 만든 txt파일을 복사해서 확장자이름을 bat으로 바꿔주고 실행

ex) hostsAdd.txt   ->  hostsAdd.bat

 

C:\Windows\System32\drivers\etc 경로로 이동해 hosts파일을 열어 확인한다.

 

 

 결과

 

 

 


같은 ip에 여러 name이 필요한 경우 (추천)

@echo off
setlocal enabledelayedexpansion

echo =========================== Got Admin Grant ===========================

:: [1] 관리자 권한 확인
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
if '%errorlevel%' NEQ '0' (
    echo 관리자 권한이 필요합니다. UAC Prompt를 띄웁니다...
    goto UACPrompt
) else (
    goto gotAdmin
)

:UACPrompt
:: [2] gotAdmin 인자 여부 확인 -> 있으면 이미 권한 있음
if "%1"=="gotAdmin" goto gotAdmin

:: [3] VBS로 권한 상승 실행
echo Set UAC = CreateObject("Shell.Application") > "%temp%\getadmin.vbs"
echo UAC.ShellExecute "cmd.exe", "/c %~s0 gotAdmin", "", "runas", 1 >> "%temp%\getadmin.vbs"
"%temp%\getadmin.vbs"
del "%temp%\getadmin.vbs"
exit /B

:gotAdmin
echo 관리자 권한으로 실행되었습니다.
echo =========================== Add Host ===========================

:: [4] Host 정보
set hostip=25.100.91.16
set visitname=visit.samsungsra.com
set reservname=reserv.samsungsra.com

:: [5] 이미 등록되어 있으면 추가 안 함
findstr /IC:"%hostip%" C:\Windows\System32\drivers\etc\hosts >nul
if errorlevel 1 (
    echo Adding host entry...
    (
        echo.
        echo %hostip%    %visitname%    #visit
        echo %hostip%    %reservname%  #reserv
    ) >> C:\Windows\System32\drivers\etc\hosts
) else (
    echo Host entry already exists.
)

echo 설치 완료
pause
exit /B