Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Aus Text File bestimmte Daten ausschneiden

Frage Entwicklung Batch & Shell

Mitglied: Casper2k

Casper2k (Level 1) - Jetzt verbinden

05.10.2007, aktualisiert 08.10.2007, 6300 Aufrufe, 9 Kommentare

Hallo Leute,

ich stehe gerade auf dem Schlauch und komme einfach nicht weiter.

Ich benötige für ein weiteres Batchfile die MAC Adressen meines Servers.

Ich gehe also zuerst hin und lasse mir per
ipconfig /all |findstr /i /C:"Physical Address" >>%LOG%
die MAC Adressen in ein Logfile schreiben.

Leider wird mir aber die komplette Zeile ins Logfile geschrieben

z.B. "Physical Address. . . . . . . . . : XX-XX-XX-XX-XX-XX"

Ich benötige aber eigentlich nur die MAC Adresse, also z.B.:

XX-XX-XX-XX-XX-XX

Leider weiss ich nicht wie ich dies bewerkstelligen kann.

Hat hier jemand eine Idee für mich?

cu
Casper2k
Mitglied: bastla
05.10.2007 um 14:15 Uhr
Hallo Casper2k und willkommen im Forum!

Du könntest es so versuchen:
01.
@echo off & setlocal 
02.
for /f "tokens=2 delims=:" %%i in ('ipconfig /all^|findstr /c:"Physikalische Adresse"') do for /f %%m in ('echo %%i') do set MAC=%%m 
03.
echo %MAC%
Das zweite "for" dient dem Entfernen der Leerstelle vor der MAC-Adresse - falls diese nicht stören sollte, genügt auch:
01.
for /f "tokens=2 delims=:" %%i in ('ipconfig /all^|findstr /c:"Physikalische Adresse"') do set MAC=%%i
Grüße
bastla

[Edit] Fehlendes %-Zeichen bei "echo %%i" nachgetragen. [/Edit]
Bitte warten ..
Mitglied: paulepank
05.10.2007 um 14:22 Uhr
Hallo Casper2k,

Alternative zu Bastla

folgendes in der cmd ausprobieren:
01.
for /f %i in ('getmac /nh') do @echo %i
Für eine Batch dementsprechend % in %% ändern und die Ausgabe anpassen.

cu paulepank
Bitte warten ..
Mitglied: Casper2k
05.10.2007 um 14:34 Uhr
Danke euch beiden.

bastla, dein String tut irgendwie nicht. bei mir wirft er das gleiche raus. das echo gibt
dann auch wieder "Physical Address..." aus. ich würde das eigentlich ohne "Physical..."
brauchen. eventuell mach ich auch was falsch?...

Paulepank, dein String ist eigentlich genau das was ich brauche, leider ist eine LAN Karte
disabled und das schreibt er mir auch ins Log. dort steht dann "disabled". wenn ich natürlich
nur die ersten 2 zeilen weiterverarbeiten könnte wäre das egal. aber wie kann ich mir dann
zeile1 als variable1 und zeile2 als variable2 rausziehen?
Bitte warten ..
Mitglied: bastla
05.10.2007 um 14:58 Uhr
Hallo Casper2k!

Beim "echo %%i" hatte ich nur ein %-Zeichen - ist oben schon korrigiert.
... dort steht dann "disabled".
Falls es Dir genügt, das "disabled" zu vermeiden, könnte es so gehen:
01.
for /f %i in ('getmac /nh^|findstr /v "disabled"') do @echo %i
Grüße
bastla

P.S.: Mir gefällt paulepank's Lösung besser ...
Bitte warten ..
Mitglied: bastla
05.10.2007 um 15:04 Uhr
... Nachtrag: Wenn Du die Adressen in Variablen haben willst, dann etwa so:
01.
@echo off & setlocal enabledelayedexpansion 
02.
set /a n=1 
03.
for /f %%i in ('getmac /nh^|findstr /v "disabled"') do ( 
04.
	set var!n!=%%i 
05.
	set /a n+=1 
06.
07.
set var
Das "set var" steht natürlich nur zu Demozwecken dabei.

Grüße
bastla
Bitte warten ..
Mitglied: Casper2k
08.10.2007 um 09:27 Uhr
Hi bastla,

das hilft mir sehr weiter! hab jetzt alles hingebogen das es funktioniert, allerdings
gibts noch ein problem bei den ausgegebenen variablen.

die mac adresse wird im format XX-XX-XX-XX... ausgegeben. Das Programm an welches
ich die variablen übergebe benötigt aber die MAC Adresse ohne "-" also z.B. XXXXXXXX...

Hast du ne Idee wie ich das bewerkstelligen kann?

thx
Casper2k
Bitte warten ..
Mitglied: paulepank
08.10.2007 um 10:37 Uhr
moin,

du kannst diesen Code ergänzen

01.
@echo off & setlocal enabledelayedexpansion 
02.
set /a n=1 
03.
for /f %%i in ('getmac /nh^|findstr /v "disabled"^|tr -d "-"') do ( 
04.
	set var!n!=%%i 
05.
	set /a n+=1 
06.
07.
set var
Das Programm tr.exe kannst du dir aus dem Paket unxutils herausziehen und in deinen System32-Ordner kopieren.

Alternativ kannst du auch warten bis Bastla Langeweile hat.

P.S. was fällt dir Morgen ein ?

cu paulepank
Bitte warten ..
Mitglied: Biber
08.10.2007 um 11:02 Uhr
Oder, ohne Dritt-Utilities...
01.
@echo off & setlocal enabledelayedexpansion 
02.
set /a n=1 
03.
for /f %%i in ('getmac /nh^|findstr /v "disabled"') do ( 
04.
        set Var=%%i 
05.
	set "var!n!=!var:-=!" 
06.
	set /a n+=1 
07.
08.
set var
Grüße
Biber
Bitte warten ..
Mitglied: Casper2k
08.10.2007 um 12:19 Uhr
Danke dir Biber! Das wars...

Muss gestehen, das ich in der for Schleife nicht mehr wirklich durchblicke. Hätte
das nie alleine hinbekommen!
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
VB for Applications
Bestimmte Daten aus eine CSV-Datei in eine Excel-Tabelle importieren (2)

Frage von MariaElena zum Thema VB for Applications ...

Batch & Shell
gelöst HTML-Seiten öffnen und bestimmte Daten auslesen (1)

Frage von makroll10 zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (34)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

Windows Server
Server 2008R2 startet nicht mehr (Bad Patch 0xa) (18)

Frage von Haures zum Thema Windows Server ...