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, 5161 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?

Mit freundlichen Grüßen
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
Windows 10

Powershell 5 BSOD

(1)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
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 ...

Windows Netzwerk
gelöst PDF nur zum lesen zur Verfügung stellen (15)

Frage von Sylvia zum Thema Windows Netzwerk ...

Heiß diskutierte Inhalte
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 ...

Outlook & Mail
Outlook 2010 findet ost datei nicht (18)

Frage von Floh21 zum Thema Outlook & Mail ...

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

Frage von Haures zum Thema Windows Server ...