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
GELÖST

Computername aus .ini lesen

Frage Entwicklung Batch & Shell

Mitglied: sweetstar

sweetstar (Level 1) - Jetzt verbinden

27.05.2009, aktualisiert 08:44 Uhr, 5167 Aufrufe, 5 Kommentare

Ziel ist es vor dem Login bei Windows XP ein Skript zu haben, das die eigene IP-Adresse auslist, auf eine .ini Datei Zugreift, die eigene IP-Adresse sucht und dann den dazugehörigen Computernamen ausliest und in eine Variable Speichert.

Ziel ist es vor dem Login bei Windows XP ein Skript zu haben, das die eigene IP-Adresse auslist, auf eine .ini Datei Zugreift, die eigene IP-Adresse sucht und dann den dazugehörigen Computernamen ausliest und in eine Variable Speichert.

Aufabu der *.ini Datei:
192.168.2.201=Arbeitsp1Raum1
192.168.2.202=Arbeitsp2Raum1
192.168.2.203=Arbeitsp3Raum1

bisher habe ich es nur geschaft die IP-Adresse auszulesen und das so:
for /F "tokens=13,*" %i in ('ipconfig^|find "IP-Ad"') do set IP=%j

Kann mir jemand helfen? Wie ich auf die Datei zugreife prüfe wo die IP-Adressen gleich sind und dort den Computername in eine Variable speichere?

Mfg
Mitglied: Biber
27.05.2009 um 10:49 Uhr
Moin sweetstar,

willkommen im Forum.

Wenn ich mir die 4 Zeilen oben in eine "Aufabu.ini"-Datei kopiere und es am CMD-Prompt teste, dann wäre eine Skizze:
01.
>set "theIP=192.168.2.203" 
02.
>findstr "%theIP%" aufabu.ini 
03.
192.168.2.203=Arbeitsp3Raum1 
04.
 
05.
>for /f "delims== tokens=2" %i in ('findstr "%theIP%" aufabu.ini') do @echo TheComputer:[%i] 
06.
TheComputer:[Arbeitsp3Raum1]
Die erste Zeile setzt nur einen IP-Wert (den, den Du aus der IPConfig-Ausgabe ermittelst
Die 2. Zeile ermittelt die "richtige" Zeile in der .ini-Datei
Zeile 3 würde aus dieser Zeile den zweiten Token (siehe Hilfe von FOR/F ->FOR/?) separieren.

Grüße
Biber
Bitte warten ..
Mitglied: sweetstar
27.05.2009 um 12:25 Uhr
Hey Biber

erst mal vielen dank für deine schnelle hilfe.
Klappt soweit alles super!

Gruß
Bitte warten ..
Mitglied: sweetstar
27.05.2009 um 14:57 Uhr
So noch ein Problem, wenn ich die Befehle direkt in die CMD eingebe funktioniert das alles einwandfrei wenn ich jetzt jedoch den Befehl: "for /F "tokens=13,*" %i in ('ipconfig^|find "IP-Ad"') do set IP=%j" in eine *.bat Datei speichere und ausführe wird das CMD Fenster sofort geschlossen.
Führe ich die *.bat aus der CMD raus aus kommt folgende Meldung:
"j" ist syntaktisch an dieser Stelle nicht verarbeitbar.

Weiß jemand weiter?
Gruß und schon mal danke für eure hilfe
Bitte warten ..
Mitglied: Biber
27.05.2009 um 16:21 Uhr
Moin sweetstar,

die Prozentzeichen vor den dynamischen Variablen [ die der FOR-Anweisungen, z.B. %i, %j...] müssen im Batch verdoppelt werden.

Beispiel:

CMD-Prompt
FOR /F "tokens=13,*" %i IN ('ipconfig^|find "IP-Ad"') DO SET "IP=%j" 
im Batch:
FOR /F "tokens=13,*" %%i IN ('ipconfig^|find "IP-Ad"') DO SET "IP=%%j" 
Siehe Hilfe bei CMD /? oder FOR /?

Grüße
Biber
Bitte warten ..
Mitglied: sweetstar
28.05.2009 um 07:04 Uhr
so hat das jetzt super geklappt vielen dank Biber
gruß sweetstar
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
Erkennung und -Abwehr
L f: Lesen statt Lösegeld (2)

Link von Lochkartenstanzer zum Thema Erkennung und -Abwehr ...

Batch & Shell
gelöst Powershell INI Tags auslesen (2)

Frage von H41mSh1C0R zum Thema Batch & Shell ...

Windows Server
gelöst Terminalserver .ini Datei unter C:Windows (8)

Frage von geocast zum Thema Windows Server ...

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

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 (14)

Frage von ProfessorZ zum Thema Router & Routing ...

SAN, NAS, DAS
gelöst Synology Version 6.1 Probleme (13)

Frage von Hendrik2586 zum Thema SAN, NAS, DAS ...