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, 5169 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 ..
Ähnliche Inhalte
Batch & Shell
gelöst Batch E-Mail Body aus txt lesen und einfügen (9)

Frage von pdiddo zum Thema Batch & Shell ...

Microsoft Office
Excel File - an einer Stelle nur Lesen und an anderer Bearbeiten (2)

Frage von LenzDan zum Thema Microsoft Office ...

Windows Server
Desktop.ini - LocalizedResourceName - Verhalten (4)

Frage von emeriks zum Thema Windows Server ...

Neue Wissensbeiträge
RedHat, CentOS, Fedora

Fedora, RedHat, Centos: DNS-Search Domain setzen

(13)

Tipp von Frank zum Thema RedHat, CentOS, Fedora ...

Drucker und Scanner

Samsung SL-M4025ND, firmware update und (kompatible) Tonerkassetten

(1)

Erfahrungsbericht von markus-1969 zum Thema Drucker und Scanner ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
gelöst Komplett neues Netzwerk, Ubiquiti WLAN, Router, Switch (16)

Frage von Freak-On-Silicon zum Thema LAN, WAN, Wireless ...

CMS
Lokales Wordpress im LAN - wie aufsetzen? (15)

Frage von Static zum Thema CMS ...

LAN, WAN, Wireless
IP im privaten Netz nicht erreichbar (14)

Frage von guntis zum Thema LAN, WAN, Wireless ...

Java
gelöst Net user per script aus txt oder csv für FTP (12)

Frage von OlliPWS zum Thema Java ...