Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

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, 6344 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 ..
Ähnliche Inhalte
Sonstige Systeme
gelöst Daten aus txt-Files sammeln (16)

Frage von MegaGiga zum Thema Sonstige Systeme ...

Batch & Shell
gelöst In txt file an bestimmter Position zeichen ersetzen, Ideen ? (7)

Frage von buliwyf zum Thema Batch & Shell ...

Administrator.de Feedback
gelöst Upload von Text-Files möglich bzw. sinnvoll? (29)

Frage von em-pie zum Thema Administrator.de Feedback ...

Batch & Shell
gelöst Text Datei bestimmte Bereiche lesen und in neue Text schreiben (3)

Frage von TurboD zum Thema Batch & Shell ...

Neue Wissensbeiträge
Humor (lol)

Wo ist der Fehler auf dem Bild?

(2)

Information von the-buccaneer zum Thema Humor (lol) ...

Windows Update

Offenbar erneutes MS-Update mit Fehlerschleife (2012 R2)

Information von VGem-e zum Thema Windows Update ...

Windows Installation

Unorthodoxer Weg, um an einen Offline-Installer für Adobe Flash zu kommen

(14)

Tipp von beidermachtvongreyscull zum Thema Windows Installation ...

Heiß diskutierte Inhalte
Exchange Server
gelöst Proxy Server Settings Cloud + EWS (17)

Frage von SomebodyToLove zum Thema Exchange Server ...

Windows Server
PDF Editor für den Einsatz auf Terminal Servern (16)

Frage von kwame501 zum Thema Windows Server ...

Windows Installation
Unorthodoxer Weg, um an einen Offline-Installer für Adobe Flash zu kommen (14)

Tipp von beidermachtvongreyscull zum Thema Windows Installation ...

Virtualisierung
Unterschied zwischen VDI und Terminal Server Lösungen (13)

Frage von tukawi06 zum Thema Virtualisierung ...