2014-09-17 9 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-ю строку.

Я попробовал следующее

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

Это пропускает только первые 10 строк и печатает остальные линии.

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 

отредактирован Получить 11-й строки в выводе команды из одной командной строки

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

Выполните команду, номер вывода, извлечения требуемая линия, разбить начальное число и отбросить остальное

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

Смежные вопросы