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, 6314 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
Microsoft Office

MS Office Excel - Formel wird angezeigt, aber nicht berechneter Wert!

Tipp von holli.zimmi zum Thema Microsoft Office ...

Ä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 Batch für File extension überprüfung und listenerstellungmit Zeit und Datum (2)

Frage von watch123 zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Hyper-V
gelöst Reiner Hyper- V Server oder lieber Rolle (17)

Frage von Winuser zum Thema Hyper-V ...

Windows Server
gelöst Rechte als Admin vergeben - Zugriff verweigert (14)

Frage von Ghost108 zum Thema Windows Server ...

Router & Routing
gelöst IP Kamera für drei unabhängige Netzwerke (12)

Frage von ProfessorZ zum Thema Router & Routing ...