2017-03-07 8 views
0

:찾기 및 사용 네트워크 어댑터 이름 다음 스크립트 작업

@echo off 
netsh interface show interface | find "Connected" 
if errorlevel 1 goto # 
netsh interface set interface "Local Area Connection" disabled 
goto end 
:# 
netsh interface set interface "Local Area Connection" enabled 
:end 

내가 찾은 네트워크 어댑터와 사용의 이름을 추출 할 수있는 방법을 찾기 위해 노력하고 말했다 지역 "대신에 이름 (들) 지역 연결 ". 모든 사람의 어댑터가 동일한 명명 된 나는 가능한 한 많은이 작업을 자동화하기 위해 노력하고 있기 때문에 이유입니다.

당신이 제공 할 수있는 모든 지원을 사전에 너무 감사드립니다.

+2

좋은 생각 ... 그래서 당신의 *** 질문 *** 무엇인가? – abelenky

+0

@abelenky : "로컬 영역 연결"대신에 발견 된 네트워크 어댑터와 사용의 이름을 말했다 어떻게 추출 할 수있는 이름 (들)? –

답변

0

다음은 인터페이스 이름을 캡처하는 좀 더 간결한 방법입니다.

for /F "skip=3 tokens=3*" %G in ('netsh interface show interface') do echo %%H 

FOR /F 명령 NETSH 명령의 출력을 파싱 함께

@echo off 
for /F "skip=3 tokens=1,2,3* delims= " %%G in ('netsh interface show interface') DO (
    IF "%%H"=="Disconnected" netsh interface set interface "%%J" enabled 
    IF "%%H"=="Connected" netsh interface set interface "%%J" disabled 
) 
pause 

을 모두 퍼팅. 헤더 열을 건너 뜁니다. 그런 다음 결과를 4 개의 메타 변수로 나눕니다.

%%G   %%H   %%I    %%J 
Admin State State   Type    Interface Name 
------------------------------------------------------------------------- 
Enabled  Disconnected Dedicated  Wireless Network Connection 
Enabled  Connected  Dedicated  Local Area Connection 
+0

* 울고 * 나는 그것이 무엇을 의미하는지 알고 싶다! 연결된 인터페이스의 이름을 변수 "J"로 저장합니까? –

+0

@ChristopherMoore,'FOR/F' 명령이하는 일에 대한 설명으로 내 질문을 업데이트했습니다. – Squashman

+0

도움을 주셔서 대단히 감사합니다. 오후 PM 옵션이 표시되지 않습니다. 여기에 기능이 없습니까? –

0
for /F "tokens=4*" %%a in ('netsh interface show interface ^| more +2') do echo %%a %%b 
+0

방법에 토큰을'/ F' 옵션에 대한'SKIP'를 사용하여 변경에 대한 : 세 번째 토큰이 B를 %%하는 후 토큰 = 3 *'모두를 할당하는'. – Squashman

+0

@Squashman : 내 대답의 질이 이미 질문의 질을 능가합니다. 더 나은 답변을 게시하려면 계속하십시오. – abelenky

+0

@abelenky : 제 질문의 질에 사과드립니다. 내가 배치 스크립트에 대한 자세한 학습에 관심이 있어요,하지만 난 어려운 나를 도울 수 소스를 찾을 수 있도록 수있는 특정 학습 스타일을 가지고있다. 지금까지 다른 사람들의 스크립트를 리버스 엔지니어링, 결합 및 조정하여 원하는 것을 얻었습니다. –