Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

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

Batch IP Adresse herausfinden und Oktette zerlegen

Frage Entwicklung Batch & Shell

Mitglied: Kim

Kim (Level 1) - Jetzt verbinden

20.03.2009, aktualisiert 11:56 Uhr, 8051 Aufrufe, 7 Kommentare

Hallo,

ich habe das Problem, dass ich bei einer Softwareverteilung dies nur auf einen bestimmten IP-Adressbereich verteilen kann, aber die Rechnernamen nach gleicher Syntax aufgebaut sind XX-YY-[001-***]

Jetzt sollte die Batch vor starten der Verteilung jeden Rechner auf die IP überprüfen und zwar müssen die ersten 3 Oktette 192.168.123. sein.

Ich hab schon einige Zeit mit Googeln und Testen verbracht, jedoch ohne Erfolg.

Wäre nett, wenn mir jemand einen Tipp geben könnte.

Vielen Dank im Vorraus!

Kim
Mitglied: godlie
20.03.2009 um 14:03 Uhr
Hier ein Ansatz an der If Schleife und deren GOTOS kannst du dich dann austoben.
grüße

01.
@echo off & setlocal 
02.
ipconfig >%temp%\DanisIp.txt 
03.
 
04.
REM --  bzw. "Ethernetadapter LAN-Verbindung: steht 
05.
REM - Die Zeilennummer wird in Blockstart gespeichert 
06.
for /f "delims=:" %%i in ('findstr /n "\<LAN-Verbindung\>" %temp%\DanisIp.txt') do set /a Blockstart=%%i 
07.
REM Zeilen überspringen 
08.
set /a BlockStart+=3 
09.
REM Aus der entsprechenden Zeile die IP-Adresse auslesen bzw. splitten 
10.
for /f "tokens=14 delims=: " %%i in ('findstr /n "." %temp%\DanisIp.txt^|findstr "%blockstart%:"') do set "theIp=%%i" 
11.
echo Ermittelte IP ist [%theIP%] 
12.
 
13.
del %temp%\DanisIp.txt 
14.
 
15.
for /f "tokens=1,2,3 delims=." %%i in ('echo %theIp%') do set IPSuff=%%i.%%j.%%k 
16.
echo %IPSuff% 
17.
 
18.
IF "%IPSuff%" == "192.168.172" ( 
19.
goto treffer  
20.
) ELSE ( 
21.
goto nontreffer 
22.
23.
 
24.
:treffer 
25.
REM Hier der Teil wenn die IP passt 
26.
echo foobab 
27.
 
28.
:nontreffer 
29.
REM Hier der Teil wo die IP nicht passt 
30.
echo fasl
Bitte warten ..
Mitglied: Kim
20.03.2009 um 17:26 Uhr
Hmm, danke für deine schnelle Hilfe.

Das würde funktionieren, wenn ich das an einem Client starten würde, ich muss aber vom Server aus das ganze steuern, also wäre deine Variante leider nicht möglich, geht das ganze denn irgendwie mit ping %rechnername% ?

Gruß
Kim
Bitte warten ..
Mitglied: Biber
20.03.2009 um 18:59 Uhr
Moin Kim,

reicht es nicht, wenn Du die einzelnen Rechnernamen mit
ping %rechnername%|findstr "[192\.168\.123" >nul && echo Rechner %rechnername% ist im IP-Nummernkreis
...durchnudelst?

Grüße
Biber
Bitte warten ..
Mitglied: Kim
20.03.2009 um 19:07 Uhr
Hmm, muss ich am Montag mal testen, hab hier keinen Windows Rechner an dem ichs testen könnte, aber vielen Dank für die schnelle Antwort!

Schönes WE wünsch ich allen!

Gruß
Kim
Bitte warten ..
Mitglied: Kim
23.03.2009 um 10:41 Uhr
Moin Biber,

grad mal getestet, mit der Syntax spuckt er bei mir nie das ECHO aus. Hast den Code mal getestet? Funktioniert er bei dir?

Gruß
Kim

Zitat von Biber:
Moin Kim,

reicht es nicht, wenn Du die einzelnen Rechnernamen mit
> ping %rechnername%|findstr "[192\.168\.123" >nul
&& echo Rechner %rechnername% ist im IP-Nummernkreis
...durchnudelst?

Grüße
Biber
Bitte warten ..
Mitglied: Biber
23.03.2009 um 11:58 Uhr
Moin Kim,

Ja, bei mir funktioniert es.
Allerdings ist in meinem Beispiel die Variable %rechnername% wirklich nur ein Platzhalter.
  • Testen am CMD-Prompt kannst Du ja, wenn Du gegen Deinen eigenen Rechner %computername% pingst
01.
 ping %computername% -n 1|find "[192.168"
Der nächste Schritt wäre dann, eine erweiterbare Test-Zeile am CMD-Prompt aufzubauen:
01.
 for %i in (%computername%) @do ping %i -n 1|find "[192.168"
...und diese (wenn es bis hierhin klappt) zu erweitern auf
01.
 for %i in (%computername% unknown1 unknown2) @do ping %i -n 1|find "[192.168"
... damit auch die Computer-nicht-erreichbar-Fälle angetestet sind.
Statt der einfachen FOR-Anweisung kannst Du auch aus einer Rechnernamen-Tetdatei lesen mit FOR /F. [For /F %i in (meinerechner.txt) do... ]

Im Batch vor der Laufvariablen ein Prozentzeichen mehr als am CMD-Prompt (%%i statt %i).

Grüße
Biber
Bitte warten ..
Mitglied: Kim
23.03.2009 um 14:34 Uhr
Super, funktioniert :o)

Vielen Dank!!
Bitte warten ..
Ähnliche Inhalte
Netzwerke
Clientname anhand MAC Adresse herausfinden (13)

Frage von VerruecktesPferd zum Thema Netzwerke ...

Sonstige Systeme
Batch Dateinamen zerlegen (5)

Frage von Mummel zum Thema Sonstige Systeme ...

LAN, WAN, Wireless
Buffolo AccessPoint IP vergessen - herausfinden (9)

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

Netzwerke
IP-Adresse Verbergen oder Verstecken (15)

Frage von Daoudi1973 zum Thema Netzwerke ...

Neue Wissensbeiträge
LAN, WAN, Wireless

Schwachstelle im WPA2 Protokoll veröffentlicht

(3)

Information von colinardo zum Thema LAN, WAN, Wireless ...

Heiß diskutierte Inhalte