윈 도 우 배치파일 안에서 IP가져오기
2023.01.26 00:09
특정 환경에 따른 시스템 설정을 위해 현재 PC의 IP를 이용하려고 합니다.
PC에 설정된 IPv4 주소만 가져올 수 있는 방법이 있을까요?
몇가지 방법을 확인해보았는데 IPv4주소와 IPv6 주소를 모두 가져와버리는 바람에 써먹기가 어렵네요.
원하는 내용은 이렇습니다.
==========================
Set MyIP = `IPv4 주소 가져오는 명령`
if (MyIP == '172.30.1.33' ) {
Call Setup1.bat
} else (MyIP == '192.168.0.22') {
Call Setup2.bat
}
==========================
IPv4 주소 가져오는 명령 ==> 이부분을 어떻게 만들어야 할지가 고민거리입니다.
댓글 [4]
-
zerojiddu 2023.01.26 08:07 -
sadold 2023.01.26 14:15
조선족 님 배치 파일 명령이 cmd 요 좀 보면서 말해요
그리고여기에 님이 저한테 쓴 댓글이나 답해요.. 쪽지 보내도 답도 안 하고
댓글 수정이나 해놓고
https://windowsforum.kr/index.php?mid=qna&page=2&document_srl=18940608
아래는 님이 쓴 댓글 캡처인데 무슨말인지도.. 쪽지로좀 보내줘요
첫 댓글 수정이나 하고
-
지후빠 2023.01.26 09:24
@echo off
for /f "tokens=2 delims=:" %%i in ('ipconfig^|find "IPv4"') do set ip=%%i
set ip=%ip: =%
echo %ip%
pause
-
starcube 2023.01.26 10:51
파워쉘에서 ip4 주소만 읽고,
원하는 .bat을 바로 실행할수도 있어요.
ip4 주소만 추리기.
$IP4 = (Get-NetIPConfiguration | Where-Object {$_.IPv4DefaultGateway -ne $null -and $_.NetAdapter.Status -ne "Disconnected"}).IPv4Address.IPAddress
그리고 파워쉘에서 바로 .bat을 실행.
if 조건을 숫자로 지정하면, 변동 ip 경우는 곤란하기에
전, ip4 그주소가 있냐 없냐로 if 조건을 정했습니다.
$path = ((gci $env:onedrive\codes\*.bat)[2]).FullName;
$IP4 = (Get-NetIPConfiguration | Where-Object {$_.IPv4DefaultGateway -ne $null -and $_.NetAdapter.Status -ne "Disconnected"}).IPv4Address.IPAddress;
If($IP4) { $bat = Start-Process -filePath $path -windowStyle 'Normal' -wait -passthru; $bat.ExitCode }