2014-09-17 2 views
2

명령의 출력에서 ​​특정 줄만 인쇄하려고합니다. ipconfig 명령을 예로 들어 보겠습니다. 이것은 많은 선을 반환합니다.배치 스크립트에서 여러 줄 건너 뛰기

Windows IP Configuration 


Wireless LAN adapter Wireless Network Connection: 

    Connection-specific DNS Suffix . : 
    Link-local IPv6 Address . . . . . : ab80::456d:123e:5ae5:9ab6%15 
    IPv4 Address. . . . . . . . . . . : 192.168.1.33 
    Subnet Mask . . . . . . . . . . . : 255.255.255.0 
    Default Gateway . . . . . . . . . : 192.168.1.1 

Ethernet adapter Local Area Connection: 

    Media State . . . . . . . . . . . : Media disconnected 
    Connection-specific DNS Suffix . : 

제 11 행이라고 말하고 싶습니다.

나는이 첫 번째 10 줄을 건너 뛰고 라인의 나머지 부분을 인쇄 다음

FOR /F "skip=10 delims=" %G IN ('IPCONFIG') DO @ECHO %G 

을 시도했다.

Default Gateway . . . . . . . . . : 192.168.1.1 
Ethernet adapter Local Area Connection: 
    Media State . . . . . . . . . . . : Media disconnected 
    Connection-specific DNS Suffix . : 

은 어떻게 11 라인 인쇄합니까?

답변

3

그냥

FOR /F "skip=10 delims=" %G IN ('IPCONFIG') DO @ECHO %G & goto done 
:done 

편집 단일 명령 줄

for /f "tokens=1,* delims=:" %a in ('ipconfig^|findstr /n "^"^|findstr /l /b /c:"11:"') do echo %b 

명령을 실행, 수 출력에서 ​​명령의 출력에 11 선을 얻기는 검색 루프를 남겨 필수 라인, 초기 숫자 분할 및 나머지를 반향

set "x=1" & for /f "skip=10 delims=" %a in ('ipconfig') do @(if defined x (set "x=" & echo %a)) 

플래그 변수를 설정하고 명령을 실행하고 플래그가 설정되어 있으면 처음 10 행을 건너 뛰고 플래그를 지우고 줄을 반향합니다.

+0

하나의 명령으로 실행할 수 있습니까? 나는 배치 파일을 통해서가 아니라는 것을 의미한다. – ontherocks

+0

@ontherocks, 나는 필요성을 보지 못했지만 어쨌든 포함되어 있습니다. –

1

단일 명령으로 실행할 수 있습니까? 나는 배치 파일을 통해서가 아니라는 것을 의미한다.

ipconfig |find "Default Gateway" 
+0

명령 줄과 배치 스크립트 모두에서 잘 작동해야합니다. – dbenham