Jump to content

Einzelne Eintraege einer Zeile auslesen


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Hallo zusammen,

 

wir benutzen Imaging, um unsere Rechner zu installieren. Wie Sie wissen, haben danach alle Rechner gleiche Namen usw.

Jedem einzelnen Rechner wird anhand seiner MAC-Adresse per DHCP (quasi BOOTP) immer dieselbe IP-Adresse zugewiesen. Die Raum-Nummer ist in der IP-Adresse kodiert. Ich möchte nun diese Nummer aus der IP-Adresse auslesen. Dafür brauche ich die letzten beiden Oktette der IP-Adresse. Mit dem Befehl:

ipconfig | findstr ... IP-Adresse > ip.txt

bekomme ich eine Datei, die die ganze Zeile enthält. Wie kriege ich das Gewünschte daraus?

 

Mein Ziel ist ein Skript zu erstellen, das (einmal gestartet) alle notwendige Anpassungen vornimmt.

 

Danke im Voraus

Nik

Link zu diesem Kommentar

Hi!

Hier http://cyberside.dyn.ee/FreeSoft/batch02.htm findest Du in der Utility-Sammlung von Horst Schaeffer u.a. QECHO. Damit kannst Du in Batches Substringmanipulationen durchführen. Ich zitiere aus der Beschreibung: "Another feature: A string can be input to QECHO by redirection, and then be completed by writing (or overwriting) something at the specified position...."

Du müßtest dann bis zu den letzten beiden Oktetten mit Blanks überschreiben. Eine LeftTrim-Funktion wird ja nicht nötig sein, weil die führenden Blanks kaum stören sollten.

Gegrüßt!

Link zu diesem Kommentar

Den ganzen Ablauf könnte man so darstellen:

 

Nach dem Image-Einspielen startet man den Rechner und führt eine Batch-Datei aus.

Das Skript überprüft die IP-Adresse, zieht die Informationen raus und nimmt die notwendigen Änderungen vor. Danach erfolgt ein Neustart mit neuen Einstellungen.

 

Im 3. Oktett der IP- Adresse ist die Raumnummer enthalten.

Im 4. Oktett ist die Rechnernummer enthalten. Sie soll ausgelesen und zur eindeutigen Rechneridentifikation um einen raumtypischen Buchstaben ergänzt werden.

 

Bsp.:

IP-Adresse: 172.16.204.1

4 steht für den Stock und 20 für die Raumnummer.

 

Daraus sollte sich die eindeutige Raumnummer 4.20 ergeben.

 

Der Computername enthält auch die Raumnummer als einen Buchstaben. Deswegen sollte

diese Zahl in Form von zwei Variablen dargestellt werden.

<Variable1> = 4.20

<Variable2> = t (raumtypischer Buchstabe)

Die 3. Variable sollte die Rechnernummer im jeweiligen Raum definieren.

<Variable3> = Letztes Oktett (immer 2 Zahlen)

Der Arbeitsgruppe-Name „Raum<Variable1>“ -> „Raum4.20“

Der Rechner-Name „Rechner<Variable2><Variable3>“ -> „RechnerT01“ bzw. „RechnerT12“, wobei die Rechnernummer immer zweistellig (01, 02...10 etc.) sein muss. Zu diesem Zweck sollen einstellige Zahlen mit führender 0 ergänzt werden.

 

 

Über den Befehl:

ipconfig | findstr /c:IP-Adresse > ip.txt

 

kommt man zur IP-Adresse:

 

IP-Adresse. . . . . . . . . . . . : 172.16.204.1

 

Die letzten beiden Oktetts der IP-Adresse sollen als einzelne Variablen (z.B. V1, V2) erhalten und im gleichen Skript weiterverwendet bzw. an ein anderes Skript übergeben werden, mit dem Computername geändert, Benutzer angelegt und verwaltet werden können.

Link zu diesem Kommentar

Danke für die Links.

 

Alles was ich brauche, ist ein Befehl bzw. ein kleines Skript, der/das

aus der Zeile

 

IP-Adresse. . . . . . . . . . . . : 172.16.abc.de

die Werte abc und de ausliest und diese den weiteren Befehlen

 

set <Variable1> = abc

set <Variable2> = X

set <Variable3> = de übergibt.

 

Mit diesen Variablen kann ich ruhig weiter arbeiten.

 

Danke für Ihre Hilfe im Voraus.

Link zu diesem Kommentar

Windows 2000-IP-Konfiguration

Ethernetadapter "LAN-Verbindung":

Verbindungsspezifisches DNS-Suffix: 
IP-Adresse. . . . . . . . . . . . : 192.168.1.9
Subnetzmaske. . . . . . . . . . . : 255.255.255.0
Standardgateway . . . . . . . . . : 192.168.1.1

Hallo,

 

an der Eingabeaufforderung wird mit ipconfig obriger Neunzeiler ausgegeben.

 

In einer Batch geschieht mit

for /f %%i in ('ipconfig') do echo %%i
pause

quasi das Gleiche.

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...