crear txt con datos especificos

Iniciado por sahfu, 25 Septiembre 2012, 16:22 PM

0 Miembros y 1 Visitante están viendo este tema.

sahfu

Hola como estan?!

Necesito un bat que me cree un log.txt en la raiz del D con los siguientes datos.
1.IP
2.Hosntame
3.Por ultimo extraer la linea 8 de un archivo llamado dialpad.cps que esta en la raiz el C, (dialpad.cps es editable con notepad)
La linea 8 es asi <setting name="auto_answer" value="1"/>
en realidad deberia extraer unicamente el numero 1 o 0 en su defecto.

Ya me re lei todo y la verdad que no encuentro la forma de hacerlo :(

Desde ya muchas gracias!!!!!!! :D

aca dejo el dialpad.cps
Código (xml) [Seleccionar]
<?xml version="1.0" encoding="UTF-8" ?>
<settings version="1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.counterpath.com/cps">
 <domain name="dialpad">
   <section name="gui_state">
     <setting name="anonymous_mode" value="0"/>
     <setting name="audio_mute" value="0"/>
     <setting name="auto_answer" value="1"/>
     <setting name="auto_conference" value="0"/>
     <setting name="auto_video" value="0"/>
     <setting name="call_return_name" value=""/>
     <setting name="call_return_number" value="sip:01142267532;cpc=ordinary@172.18.65.77"/>
     <setting name="call_return_slot" value="1"/>
     <setting name="dnd" value="0"/>
     <setting name="fnl" value="0"/>
     <setting name="fnr" value="0"/>
     <setting name="letters_to_digits" value="0"/>
     <setting name="mic_slider" value="48"/>
     <setting name="redial_name" value=""/>
     <setting name="redial_number" value=""/>
     <setting name="redial_slot" value="0"/>
     <setting name="speaker_slider" value="98"/>
     <setting name="state" value="34"/>
   </section>
 </domain>
</settings>





Eleкtro

Hola,

Aquí no hacemos el trabajo a nadie, aquí ayudamos siempre que se demuestre un mínimo esfuerzo de haberlo intentado por tu parte...


ipconfig /?


nslookup /?


Type "dialpad.cps" | Find /I "auto_answer"

PD: Usar un "FOR /F" en los 3 comandos.

Saludos








sahfu

#2
gracias por reponder amigo!

me fue muy util.

pude hacerlo pero no esta perfecto!  :-[

lo hice asi!

Código (dos) [Seleccionar]

@echo off
Type "texto.txt" | Find /I "auto_answer" > d:\Log.txt
echo.
hostname >> d:\Log.txt
For /f "tokens=14 skip=5" %%x IN ('ipconfig') Do set ip=%%x
echo %ip% >> d:\Log.txt


el archivo se crea asi:

     <setting name="auto_answer" value="1"/>
TUC-G8YFFP1
fe80::5efe:172.22.22.30%2

hay alguna forma que solo me muestre el "1"
y en la IP no me aparezca fe80::5efe: - %2



Eleкtro

Código (dos) [Seleccionar]
@Echo OFF

For /F "Tokens=2 delims=:" %%@ in ('ipconfig ^| find /I "ipv4"') DO (Set "IP=%%@")
For /F "Tokens=2 delims=:" %%@ in ('Echo %IP% ^| nslookup ^| Find /I "nombre"') DO (Set "Hostname=%%@")
For /F "Tokens=3 delims==/" %%@ in ('Type "dialpad.cps" ^| Find /I "auto_answer"') DO (Set "Value=%%@")

Echo+
Echo IP   : %IP: =%
Echo Name : %Hostname: =%
Echo Value: %Value:"=%
Echo+

Pause&Exit




PD: Usa las etiquetas [ code ] cuando postees un código.

Saludos