exellent
Goto Top

IP Adressen aus bestimmter Datei ziehen und in eine .txt einfügen?

Hallo Zusammen,

ich möchte gerne aus einer Textdatei, in denen mehrere Datensätze gespeichert sind, mehrere IP-Adressen auslesen und in eine andere Textdatei schreiben lassen.

Die Quelldatei (.txt) sieht so aus :

<Connection>
<ConnectionType>RDPConfigured</ConnectionType>
<Events />
<Group>Altena</Group>
<Host>192.168.26.32</Host>
<ID>bb7adcfd-0a34-4176-9f99-54c9d4b9be8e</ID>
<MetaInformation />
<Name>192.168.26.32</Name>
<RDP />
<Url>192.168.26.32</Url>
<VPN />
</Connection>
<Connection>
<ConnectionType>RDPConfigured</ConnectionType>
<Events />
<Group>Altena</Group>
<Host>192.168.26.32</Host>
<ID>b442735a-6c8c-44ee-b37a-15a5014fa1b5</ID>
<MetaInformation />
<Name>192.168.26.33</Name>
<RDP />
<Url>192.168.26.32</Url>
<VPN />
.....
.....
.....

Man sieht ja, dass sich die Felder immer wiederholen und ich würde gerne die IP Adressen zwischen den Tags <Host>192.168.x.x</Host> auslesen und dann in eine weitere Textdatei reinschreiben. Die IPs sollen dann da einfach untereinander reingeschrieben werden

Also quasi so :
192.168.26.32
192.168.26.33
192.168.26.34
...


Habt ihr eine Ahnung wie ich das bewerkstelligen könnte ?

Vielen Dank !

Content-Key: 128149

Url: https://administrator.de/contentid/128149

Printed on: April 20, 2024 at 15:04 o'clock

Mitglied: 60730
60730 Oct 28, 2009 at 15:11:07 (UTC)
Goto Top
Servus,

im cmd Promt:

find /i "192" "quelle" > neu.xml  
for /f "tokens=2 delims=><" %a in (Neu.xml) do echo %a>> c:\horst.txt  
als batch
find /i "192" "quelle" > neu.xml  
for /f "tokens=2 delims=><" %%a in (Neu.xml) do echo %%a >> c:\horst.txt  
rem als schmankerl oben drauf:
sort c:\horst.txt /o c:\horst.log


Gruß

edit suchst ja nicht nach Host - sondern nach 192...

edit² nee suchst ja doch nach Host...

find /i "Host" "quelle" > neu.xml
Member: exellent
exellent Oct 28, 2009 at 15:21:26 (UTC)
Goto Top
Hey, danke !

Schonmal ein guter Anfang..Allerdings soll er das, was zwischen dem Tag <Host>xxx</Host> steht mir in eine .txt schreiben. Nach deinem Befehl kommt das hier bei mir raus :

C:\CONNECTIONS.TXT
<Host>192.168.26.32</Host>
<Name>192.168.26.32</Name>
<Url>192.168.26.32</Url>
<Host>192.168.26.32</Host>
<Name>192.168.26.33</Name>
<Url>192.168.26.32</Url>
<Host>192.168.26.32</Host>
<Name>192.168.26.34</Name>
<Url>192.168.26.32</Url>
<Host>192.168.26.32</Host>

Gibts ne Möglichkeit nur das rauszuziehen was in dem Tag <host>xxx</host> steht ? So, dass quasi in der neuen .txt nur steht

192.168.26.32
192.168.26.33
..
..

Thx !
Mitglied: 60730
60730 Oct 28, 2009 at 15:35:07 (UTC)
Goto Top
Servus,

ähh "mein" Befehl -das sind zwei - der eine, der zuerst Host / 192 ausfiltert - je nachdem - welchen (edit) du da genommen hast.
Ich vermute den find "192"...
Und die Schleife, die dein gewünschtes Ergebnis macht.

Gruß