Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: eltiolavara en 11 Enero 2012, 22:53 pm



Título: [Batch] Ayuda numerando interfaces(adaptadores de red)
Publicado por: eltiolavara en 11 Enero 2012, 22:53 pm
Hola a todos. Es la primera vez que publico un tema en este foro y la causa es que necesito vuestra ayuda. No tengo mucha idea en el tema de los scripts y no sé realizar lo siguiente:

Me gustaría saber si se puede sacar en un archivo de texto el nombre de las interfaces (adaptadores de red) numeradas.

He estado sigueindo algunnos de vuestros batch para no tener que repetir post pero no me ha funcionado.

He probado con este codigo para ver las interfaces:
Código:
@echo off
ipconfig |findstr "Adaptador">eth.txt
type eth.txt
pause

Pero me saca por pantalla:
Código:
Adaptador de Ethernet Conexi¢n de area local:
Adaptador de Ethernet Conexi¢n de area local2:
Adaptador de t£nel isatap.{308C0B68-8124-4A02-BBB9-2CD07444E1A4}:
Adaptador de t£nel Conexi¢n de area local* 2:

Además no quiero que se vean las filas de "Adaptador tunel", solo que quede el nombre de las interfaces "Ethernet" y ordenadas (ni los ":" del final):
Código:
1.-Conexi¢n de area local
2.-Conexi¢n de area local2

Luego guardaré cada línea en una variable para poder seleccionar yo la interface que quiera:
Código:
1.-Conexi¢n de area local
2.-Conexi¢n de area local2

SELECCIONA UNA INTERFACE:

Muchas gracias por vuestra atención y perdonen mi ignorancia a la hora de exponer mi probrema. GRACIAS


Título: Re: [Batch] Ayuda numerando interfaces(adaptadores de red)
Publicado por: Eleкtro en 12 Enero 2012, 04:31 am
Tienes que filtrar el resultado dos veces:

Código
  1. Ipconfig | find /I "Adaptador" | findstr /I /V "t.nel"

Un saludo


EDITO
Sobre el otro problema...

Código:
@Echo Off

REM Visita Foro.ElHacker.Net
REM Un gran foro!

Setlocal EnableDelayedExpansion

Ipconfig | Find /I "Adaptador" | Findstr /I /V " t.nel " > "%Temp%\Ipconfig.tmp"

For /F "Tokens=*" %%_ in ('type "%temp%\ipconfig.tmp" ^| Sort /R') do (
Set /A Numero+=1
set Adaptador!Numero!=%%_
)
Setlocal DisableDelayedExpansion

Del /Q "%temp%\ipconfig.tmp" >nul

If Defined Adaptador1 (Echo 1.-%Adaptador1:~22%)
If Defined Adaptador2 (Echo 2.-%Adaptador2:~22%)
If Defined Adaptador3 (Echo 3.-%Adaptador3:~22%)
If Defined Adaptador4 (Echo 4.-%Adaptador4:~22%)
If Defined Adaptador5 (Echo 5.-%Adaptador5:~22%)

Echo.
Pause
Exit


(http://img828.imageshack.us/img828/4867/prtscrcapture3p.jpg)


Título: Re: [Batch] Ayuda numerando interfaces(adaptadores de red)
Publicado por: eltiolavara en 12 Enero 2012, 13:29 pm
Gracias por responder tán rapido. Es lo que yo estaba buscando pero sigo teniendo una duda, y es como podria quitar los dos puntos que aparecen detrás del nombre del adaptador. Queria que quedase así:
Código:
1.-Conexi¢n de area local
2.-Conexi¢n de area local2

Presione una tecla para continuar...

Muchas gracias de nuevo.


Título: Re: [Batch] Ayuda numerando interfaces(adaptadores de red)
Publicado por: Eleкtro en 12 Enero 2012, 14:14 pm
como podria quitar los dos puntos que aparecen detrás del nombre del adaptador

Simplemente añade esto:
%Adaptador1:~22,-1%




Código
  1. If Defined Adaptador1 (Echo 1.-%Adaptador1:~22,-1%)
  2. If Defined Adaptador2 (Echo 2.-%Adaptador2:~22,-1%)
  3. If Defined Adaptador3 (Echo 3.-%Adaptador3:~22,-1%)
  4. If Defined Adaptador4 (Echo 4.-%Adaptador4:~22,-1%)
  5. If Defined Adaptador5 (Echo 5.-%Adaptador5:~22,-1%)