| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
- 챗지피티
- 비트코인
- UBIFS
- nandsim
- 트레이딩 봇
- 나이키
- ChatGPT
- 파이썬
- 에러
- 마운트
- mount
- 카페
- No JVM
- 가상화폐
- freqtrade
- python3-venv
- SNRKS
- 맛집
- 커피
- bot
- Linux
- virtualbox
- Trading
- 암호화폐
- python
- 공유폴더
- 리눅스
- 세종
- CMAKE_CXX_COMPILER
- ubuntu
- Today
- Total
beauty in struggle
Windows에서 네트워크 주소(IP, Subnet, ...) 바꾸는 batch file 본문
업무를 하다가 IP를 바꿔야 하는 경우가 있는데,
마우스로 클릭클릭 하기 너무 귀찮아서 batch 파일실행으로 대체했다.
네트워크 주소를 A 또는 B를 오고가야하는 상황일 때,
아래의 batch 파일을 생성 및 실행해서 간단히 네트워크 주소를 변경할 수 있다.
@echo off
echo setip.bat executed
set NAME="YOUR_NETWORK_NAME"
set A_IP=xxx.xxx.xxx.xxx
set A_Subnet=xxx.xxx.xxx.xxx
set A_Gateway=xxx.xxx.xxx.xxx
set B_IP=xxx.xxx.xxx.xxx
set B_Subnet=xxx.xxx.xxx.xxx
set B_Gateway=xxx.xxx.xxx.xxx
set B_DNS=xxx.xxx.xxx.xxx
if "%1"=="" (
echo - Failed to change
echo -- Usage: setip.bat A or setip.bat B
exit /b 1
)
if "%1"=="A" (
echo - Changing network address to A
netsh interface ip set address name=%NAME% static %A_IP% %A_Subnet% %A_Gateway% 1
netsh interface ip delete dnsservers name=%NAME% all > nul
)
if "%1"=="B" (
echo - Changing network address to B
netsh interface ip set address name=%NAME% static %B_IP% %B_Subnet% %B_Gateway% 1
netsh interface ip set dns name=%NAME% static %B_DNS% > nul
)
echo setip.bat finished
pause
이 batch 파일은 admin 권한이 필요
>> cmd 창을 admin 권한으로 실행해서 batch 파일 실행
(Win+R -> cmd -> Ctrl+Shift+Enter으로 cmd admin으로 실행가능)
>> OR batch 파일에 admin 권한을 얻는 코드 추가해서 사용가능
>> OR cmd를 항상 admin으로 실행되게 권한설정
>> ...
입력 argument(A or B)에 따라 다른 네트워크 주소로 설정
>> if "%1" == "" (~~~)
gateway를 사용하는 경우에는 netsh interface ip set address ~~ 명령어 마지막에 1을 적어준다.
>> netsh interface ip set address name=%NAME% static %A_IP% %A_Subnet% %A_Gateway% 1
>> gwmetric=1에 해당하는 옵션으로 자세한 내용은 netsh interface ip set 명령어 메뉴얼 참조
DNS를 사용하지 않는 경우에는 DNS 주소를 삭제해준다.
(안 그러면 이전 DNS 주소가 그대로 남아있어 네트워크 잘못된 주소로 설정됨)
>> netsh interface ip delete dnsservers name=%NAME% all > nul
>> 마지막에 > nul을 해준이유는 DNS 설정 관련해서 발생하는 warning을 무시하려고