Supportnet Computer
Planet of Tech

Supportnet / Forum / BS-Sonstige

(batch) Bildschirmausgabe in variable speichern





Frage

Hi! Wie kann ich die Ausgabe von ipconfig /all in eine variable speichern?? und wie kann ich dann nur Die MAC-Adresse rausfiltern und in eine zweite variable speichern?? mfg Andy

Antwort 1 von manei

Hallo,

z.B. mit

ipconfig /all>>ip.txt

hast Du diese Daten in einer Textdatei.

Da ich nicht in einem Netzwerk angeschlossen bin, kann ich Dir auch nicht sagen, in welcher Zeile die MAC-Adresse steht. Außerdem kommt es auf Dein BS an. Bei W2K/XP kannst du das mit hausinternen Mittel machen, bei Win9X(95/98/ME) mußt Du etwas tricksen, geht aber auch.

MfG maneich

Antwort 2 von Andy2010

Hi!

also ich benutze WinXP!

Wie kann ich dann die ausgabe die ich mit
ipconfig /all>>ip.txt
in eine datei gespeicher habe wieder ausgeben??
Die Mac Adresse steht immer an einer anderen stelle, (kommt u.a. drauf an wieviel ip's der rechner hatt, dann kommt nochmal eine zeile dazu...) aber hatt ja immer das selbe format, **-**-**-**-**-** .

mfg Andy

Antwort 3 von Andy2010

Hi,

mit ipconfig/all | findstr "Ph" >> MAC.txt speichert er nur die MAC adressen ab, jetzt müsst ich nur noch wissen wie man die datei dann wieder ausliest und die Mac adresseen in eien variable macht..

mfg Andy

Antwort 4 von manei

Hallo,

wenn er immer die gesamte Zeile nehmen kann
mache das z.B. mit

set s=0
for /f %%i in (MAC.txt) do call mac %%i


und die Batch mac.bat

if %1'==' goto end
set /a s=%s%+1
set a%s%=%1
:end


Damit stehen dann die Mac-Adressen bzw. die einzelnen Zeilen in a1-a?.

Steht z.B. die Bezeichnung an erster Stelle und die MAC-Adresse an zweiter Stelle und Du willst nur die MAC-Adresse, würde die Zeile dann so aussehen:

for /f "tokens=2*" %%i in (MAC.txt) do call mac %%i%%j


MfG maneich



Antwort 5 von Andy2010

Hi,

funktioniert so prima:

(1.bat)
@echo off
ipconfig/all | findstr "Ph" > MAC.txt
set s=0
for /f "tokens=10*" %%i in (MAC.txt) do call mac %%i%%j

(mac.bat)
@echo off
if %1'==' goto end
set /a s=%s%+1
set a%s%=%1
echo %1%
:end


Kann man das auch irgendwie in einer Datei realisieren??

Danke schon mal!

mfg Andy

Antwort 6 von Andy2010

Hi!

also hab jetzt alles hinbekommen,hab aber trozdem noch ne frage, bekommt man irgendwie absätze in dos hin??

danke!


Andy

Antwort 7 von manei

Hallo,

so wie es oben steht, ist es für den Ablauf in einer Batch gedacht.

Also für beide Abläufe - beginn bei @echo off - jeweils eine leere Textdatei öffnen und o.a. Daten hineinkopieren, jeweils in die letzte Zeile schreibst Du dann noch cls.

Datei speichern und schließen, dann umbenennen auswählen, einen Dateinamen vergeben mit der Endung .bat. Das wars.

Deine letzte Frage habe ich nicht verstanden. Was meinst Du mit Absätze?

MfG maneich

Antwort 8 von Andy2010

Hi,

das mit den Absätzen hatt sich erledigt!

Nun klappt alles!
Danke nochmal!!

mfg Andy

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: