elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Estamos en la red social de Mastodon


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  [Batch] Varias preguntillas...
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Batch] Varias preguntillas...  (Leído 3,169 veces)
ypsilon

Desconectado Desconectado

Mensajes: 16


Ver Perfil
[Batch] Varias preguntillas...
« en: 29 Agosto 2011, 19:24 pm »

Estoy haciendo un archivo de proceso por lotes, y me asaltan diversas dudas :silbar:

Código
  1. for /f "tokens=*" %%a in ('Ipconfig') do (
  2. Set as=%%a
  3. // no creo que sea asi... PERO ...
  4.  
  5. Como "asigno" la ip de un pc a una variable...
  6. IPCONFIG = VARIABLE_QUE_CONTIENE_LA IP
  7.  
  8. Como comparar los tres primeros digitos de la ip
  9. IPCONFIG = OBTENGO_SOLO_LOS_TRES_PRIMEROSDIGITOS
  10.  
  11. Como detectar si al realizar un PING o un TRACERT obtiene como salida un error
  12. PING XXX.XXX.XXX.XXX
  13. IF ERRORLEVEL 1 GOTO ERROR ping ¿?

MUCHISIMAS GRACIAS POR ADELANTADO !!!! :rolleyes:


« Última modificación: 31 Agosto 2011, 01:02 am por Leo Gutiérrez. » En línea

leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
***
Desconectado Desconectado

Mensajes: 3.069


/^$/


Ver Perfil WWW
Re: Varias preguntillas...
« Respuesta #1 en: 30 Agosto 2011, 02:00 am »

Bueno, lo primero, en el título del mensaje debes de indicar a qué lenguaje pertenece la duda.

Otra cosa, edita el código y ponlo con su respectiva etiqueta. Después de eso se te brindará ayuda.


En línea

Código
  1. (( 1 / 0 )) &> /dev/null || {
  2. echo -e "stderrrrrrrrrrrrrrrrrrr";
  3. }
  4.  
http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com
ypsilon

Desconectado Desconectado

Mensajes: 16


Ver Perfil
Re: Varias preguntillas...
« Respuesta #2 en: 30 Agosto 2011, 20:47 pm »

Disculpar... :-\ Queria hacer un archivo de procesamiento por lotes, mas o menos asi, pero que se consiga mayor automatizacion... y poder controlar los errores que aparezcan :)

Código
  1. @ECHO OFF
  2. :INICIO
  3. CLS
  4. REM MOSTRAR POR CONSOLA IPCONFIG
  5.   IPCONFIG
  6. REM MENU PRINCIPAL
  7.   ECHO.
  8.   ECHO      1. IP 14.xxx.xxx.xxx
  9.   ECHO      2. IP 92.xxx.xxx.xxx
  10.   ECHO.
  11.   ECHO.
  12.  
  13. REM EL USUARIO INTRODUCE UNA OPCION  
  14.   SET /p opcion=Teclea una opcion :
  15.  
  16. REM SELECCIONA OPCION
  17.   IF %opcion%==1 GOTO CATORCE
  18.   IF %opcion%==2 GOTO NUEVE
  19.   IF %opcion%==%opcion% GOTO INICIO
  20.  
  21. :CATORCE
  22. REM INTRODUCIR LOS VALORES
  23.  
  24. :NUEVE
  25. REM INTRODUCIR LOS VALORES
  26.  
  27. REM ENVIO DE PAQUETES
  28. :CHEQUEO
  29.   CLS
  30.   Ping -n 1 host1
  31.   Ping -n 1 host2
  32.   Ping -n 1 host3
  33. :MENU
  34.   ECHO.
  35.   ECHO 1. ERROR ping con host1
  36.   ECHO 2. ERROR ping con host2
  37.   ECHO 3. ERROR ping con host3
  38.   ECHO 4. Volver a comprobar ping
  39.   ECHO 5. OK
  40.   ECHO.
  41.  
  42. REM EL USUARIO INTRODUCE UNA OPCION  
  43.   SET /p opcion=Teclea una opcion :
  44.  
  45. REM SELECCIONA OPCION
  46.   IF %opcion%==1 GOTO ERR_DATA
  47.   IF %opcion%==2 GOTO ERR_ESD4  
  48.   IF %opcion%==3 GOTO ERR_ESD6
  49.   IF %opcion%==4 GOTO CHEQUEO
  50.   IF %opcion%==5 GOTO OK  
  51.   IF %opcion%==%OPCION GOTO MENU
  52.  
  53. :ERR_DATA
  54. route add –p xx.xx.xx.xx MASK 255.255.255.255 %ip%
  55. IF ERRORLEVEL 1 route add xx.xx.xx.xx MASK 255.255.255.255 %ip% -p
  56. GOTO CHEQUEO
  57. :ERR_ESD4
  58. route add –p xx.xx.xx.xx MASK 255.255.255.255 %ip%
  59. IF ERRORLEVEL 1 route add xx.xx.xx.xx MASK 255.255.255.255 %ip% -p
  60. GOTO CHEQUEO
  61. :ERR_ESD6
  62. route add –p xx.xx.xx.xx MASK 255.255.255.255 %ip%
  63. IF ERRORLEVEL 1 route add xx.xx.xx.xx MASK 255.255.255.255 %ip% -p
  64. GOTO CHEQUEO
  65.  
  66. :OK
  67. REM REALIZANDO TRACERT
  68.   tracert -h 2 host1
  69.   tracert -h 2 host2    
  70.   tracert -h 2 host3
« Última modificación: 30 Agosto 2011, 20:49 pm por Novlucker » En línea

leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
***
Desconectado Desconectado

Mensajes: 3.069


/^$/


Ver Perfil WWW
Re: [Batch] Varias preguntillas...
« Respuesta #3 en: 31 Agosto 2011, 01:15 am »

Para obtener la IP tienes varias maneras, te sugiero una:

Código
  1. for /f "tokens=1" %%_ in ('wmic nicconfig get ipaddress ^| find /i "{"') do set "ip=%%_"
  2. set "ip=%ip:,=%"
  3. set "ip=%ip:{=%"
  4. set "ip=%ip:"=%"
  5.  

Y para saber si un ping fue exitoso puedes probar esto:


Código
  1. ping %ip% > nul 2>&1 && (
  2. rem Codigo por si esta bien el ping, OK
  3. ) || (
  4. rem Codigo por si esta mal el ping, NO OK
  5. )

En línea

Código
  1. (( 1 / 0 )) &> /dev/null || {
  2. echo -e "stderrrrrrrrrrrrrrrrrrr";
  3. }
  4.  
http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Varias dudas con Batch
Scripting
....................................... 4 2,825 Último mensaje 28 Marzo 2007, 01:13 am
por sirdarckcat
[Batch] Comentarios en varias lineas, usando ::
Scripting
leogtz 4 35,777 Último mensaje 20 Junio 2009, 07:32 am
por leogtz
Sentencia batch en varias lineas[Solucionado]
Scripting
50l3r 4 7,324 Último mensaje 27 Marzo 2010, 02:07 am
por 50l3r
[Batch] BUCLE FOR se repite varias veces
Scripting
wareware 3 7,375 Último mensaje 28 Agosto 2011, 22:59 pm
por leogtz
[BATCH] Dudas varias
Scripting
baldovi_6 5 2,696 Último mensaje 30 Diciembre 2018, 10:03 am
por baldovi_6
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines