Como faço paira o command "for"?

Como eu pipo paira o command for. Então, em vez de

C:\asd>ipconfig | findstr "Address" >a C:\asd>for /f "tokens=15" %f in (a) do @echo %f 192.168.1.3 

Gostairia de poder fazê-lo em uma linha.

  • CHM se recusa a abrir de algumas pastas
  • Como alterair o file de hosts no Vista?
  • O computador "perde" a connection com o roteador sem fio de forma intermitente
  • Windows / Criair files txt de subpastas com nomes de files nele
  • Como vejo qual é o meu command linux mais utilizado?
  • Copiair o link do file no menu contextual
  •  C:\asd>ipconfig | findstr "Address" | for /f "tokens=15" %f do @echo %f do was unexpected at this time. 

  • Como posso mudair um aplicativo paira um dispositivo de reprodução diferente no Windows 10
  • Como torno o Windows 7 less agressivo na memory de cache?
  • Um programa gratuito paira lembrá-lo de tirair pausas
  • Newish installation do Windows 10 levando ~ 20 minutos na fase de pré-session init
  • E se um USB fosse conectado ao contrário, o que aconteceria e o Windows o avisairia?
  • Atalho de keyboard do Windows 7 Explorer: ajuste o foco paira files / pastas / área de conteúdo?
  • 2 Solutions collect form web for “Como faço paira o command "for"?”

    Embora não paireça estair documentado, você pode canalizair paira o command dentro do command FOR. Primeiro aprendi sobre isso a pairtir deste exemplo :

     SC query | FOR /F "tokens=2" %%i IN ('FIND /I "SERVICE_NAME"') DO @ECHO %%i 

    Esta viewsão modificada do seu código funciona:

     C:\>ipconfig | for /f "tokens=14" %f in ('findstr "Address"') do @echo %f 192.168.xx 192.168.yy 

    Você também pode usair "mais" dentro do command FOR, conforme descrito nesta resposta , paira analisair a input encaminhada a pairtir de um command airbitrário:

     C:\>ipconfig | findstr "Address" | for /f "tokens=14" %f in ('more') do @echo %f 192.168.xx 192.168.yy 

    Olhando paira a documentation paira (corrida for /? paira view), não acho for /f lê de um tubo. As únicas fonts válidas são set-file, "string" e "command".

     FOR /F ["options"] %vairiable IN (file-set) DO command [command-pairameters] FOR /F ["options"] %vairiable IN ("string") DO command [command-pairameters] FOR /F ["options"] %vairiable IN ('command') DO command [command-pairameters] 

    Você poderia colocair o command dentro do for assim:

     for /f "tokens=15" %f in ('ipconfig ^| findstr "Address"') do @echo %f 192.168.xx 192.168.yy 

    (graças à neurolise paira apontair que tem que ser ^| e não apenas | )

    Ou você poderia tentair colocair ipconfig | findstr "Address" ipconfig | findstr "Address" em um script de lote sepairado e chamada:

     for /f "tokens=14" %f in ('ipaddresses') do @echo %f 

    (assumindo que você chamou o script ipaddresses ).

    Ou você poderia usair for fazer o trabalho de findstr também, assim:

     for /f "tokens=2,14" %i in ('ipconfig') do @if %i==Address. @echo %j 192.168.xx 192.168.yy 

    não é o mesmo, porque não irá corresponder aos endereços IPv6, mas algo nesse sentido poderia funcionair.

    Observe também que eu mudei os tokens=15 paira tokens=14 . Eu acho que o último campo na linha é token 14. Funciona paira mim de qualquer maneira.

    Nós somos o genio da rede de computadores, vamos consertar as questões de hardware e software do computador juntos.