일괄 처리 NIC 이름 가져오기 코드(IP, 게이트웨이, DNS 스크립트 수정 포함)

1717 단어
 
  
:: ipconfig /all 。
FOR /F "tokens=2*" %%i IN ('ipconfig/all^|find /i "Ethernet adapter "') DO set name=%%j
:: for 。
FOR /F "tokens=1* delims=:" %%i in ("%name%") do set =%%i

위의 스크립트를 사용하여 DNS를 수정한다. 예를 들어 어제 전국의 DNS 서버가 마비되었을 때 DNS를 202.96.199.132로 바꾸면 정상적인 인터넷을 회복할 수 있다.
DNS 세션 수정
 
  
FOR /F "tokens=2*" %%i IN ('ipconfig/all^|find /i "Ethernet adapter "') DO set name=%%j
FOR /F "tokens=1* delims=:" %%i in ("%name%") do set =%%i
netsh -c interface ip add dns name="% %" addr=202.96.199.132 index=1
netsh -c interface ip add dns name="% %" addr=202.96.64.38 index=2

IP, 서브넷 마스크, 게이트웨이, DNS 코드 수정
 
  
FOR /F "tokens=2*" %%i IN ('ipconfig/all^|find /i "Ethernet adapter "') DO set name=%%j
FOR /F "tokens=1* delims=:" %%i in ("%name%") do set =%%i
netsh -c interface ip set address name="% %" source=static addr=192.168.1.215 mask=255.255.255.0
netsh -c interface ip set address name="% %" gateway=192.168.1.1 gwmetric=0
netsh -c interface ip add dns name="% %" addr=202.96.209.133 index=1
netsh -c interface ip add dns name="% %" addr=202.96.209.5 index=2

방금 테스트해 봤는데 만약에 두 개의 카드가 있다면 로컬 연결 뒤에 있는 숫자가 비교적 작은 것을 수정할 것이다. 예를 들어 두 개의 로컬 연결이 있는데 이름은 각각 로컬 연결 2, 로컬 연결 3이다. 스크립트는 로컬 연결 2를 수정하고 이벤트 카드를 정확하게 식별하지 못하기 때문에 완벽하지 않다. LZ가 보완해 줄 때까지 기다릴 수밖에 없다. 나는 이런 능력이 없다.

좋은 웹페이지 즐겨찾기