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

Manuell eingegebene IPs auf Gültigkeit prüfen und in einer Umgebungsvariable als Liste ablegen ohne in eine externe Datei zu schreiben

Frage Entwicklung Batch & Shell

Mitglied: toldik

toldik (Level 1) - Jetzt verbinden

30.01.2009, aktualisiert 17:36 Uhr, 4019 Aufrufe, 2 Kommentare

Hallo Leute,
vielleicht kann mir jemand weiterhelfen, da ich doch schon einige Stunden an dem Problem knoble.

01.
@echo off & cls & setlocal enableextensions enabledelayedexpansion  
02.
 
03.
:: RegEx pattern für eine IP 
04.
set patternIP="^[0-9]*\.[0-9]*\.[0-9]*" 
05.
:: set EIP=127.0.0.1 127.a.0.1 10.100.24.37 10.a00.24.37 
06.
set /P EIP= 
07.
FOR %%i IN (%EIP%) DO ( 
08.
echo %%i|findstr /R %patternIP% 
09.
10.
goto :eof
Das bisherige Ergebnis liefert nur die IPs die keine Buchstaben oder Sonderzeichen und zumindest drei Punkte enthalten.
Dies habe ich aus Beiträgen im Forum zusammengebastelt.
Nun hätte ich gern als Ergebnis:
EIP=127.0.0.1 10.100.24.37
in der Variablen, nur wie bekomme ich das hin?
Die bisherige Ausgabe sieht soweit gut aus, aber ich möchte nicht so etwas wie
set EIP=127.0.0.1>> random.bat
set EIP=127.0.0.1>> random.bat
und dann
call random.bat.
Hat jemand ne Idee. Wäre super,
Danke und Gruß,
Toldi
Mitglied: bastla
30.01.2009 um 17:53 Uhr
Hallo toldik und willkommen im Forum!

Soferne ich das richtig verstehe und Du aus einem Eingabe-String mit mehreren IP-Adressen alle formal gültigen Adressen (durch Leerzeichen getrennt) in einen Ergebnis-String setzen möchtest, dann etwa so:
01.
@echo off & cls & setlocal enableextensions enabledelayedexpansion 
02.
 
03.
:: RegEx pattern für eine IP 
04.
set patternIP="^[0-9]*\.[0-9]*\.[0-9]*" 
05.
 
06.
set /P Ein= 
07.
 
08.
set EIP= 
09.
FOR %%i IN (%Ein%) DO echo %%i|findstr /R %patternIP% >nul && set "EIP=!EIP!%%i " 
10.
 
11.
if defined EIP echo %EIP%
Das überzählige Leerzeichen am Ende von %EIP% kannst Du bei Bedarf so loswerden:
set "EIP=%EIP:~,-1%
Grüße
bastla
Bitte warten ..
Mitglied: toldik
02.02.2009 um 09:21 Uhr
Vielen Dank,
das ist perfekt. Na ja, noch besser wäre natürlich die schrittweise Eingabe der IPs und Kontrolle der IPs auf Korrektheit. Wenn ich RegEx etwas aufbohre (patternIP="^[1-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*$") dann ist das zwar besser, aber immer noch nicht wirklich gut.
Aber soweit reicht das schon mal.
Danke nochmal für die schnelle Antwort!
Toldi
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Dateien mit Liste suchen (16)

Frage von 132351 zum Thema Batch & Shell ...

Batch & Shell
gelöst Dateien auf der Basis einer Liste löschen (2)

Frage von symei3 zum Thema Batch & Shell ...

Windows Server
Große Dateien mit externen Partnern bearbeiten (4)

Frage von Matsushita zum Thema Windows Server ...

Batch & Shell
gelöst EDI Dateien auf Inhalt prüfen und verschieben (6)

Frage von ThomasKern zum Thema Batch & Shell ...

Neue Wissensbeiträge
Ubuntu

Ubuntu 17.10 steht zum Download bereit

(3)

Information von Frank zum Thema Ubuntu ...

Datenschutz

Autofahrer-Pranger - Bewertungsportal illegal

(8)

Information von BassFishFox zum Thema Datenschutz ...

Windows 10

Neues Win10 Funktionsupdate verbuggt RemoteApp

(8)

Information von thomasreischer zum Thema Windows 10 ...

Microsoft

Die neuen RSAT-Tools für Win10 1709 sind da

(2)

Information von DerWoWusste zum Thema Microsoft ...

Heiß diskutierte Inhalte
Windows 10
Seekrank bei Windows 10 (18)

Frage von zauberer123 zum Thema Windows 10 ...

Monitoring
Netzwerk-Monitoring Software (18)

Frage von Ghost108 zum Thema Monitoring ...

Windows 10
Windows 10 Fall Creators Update Fehler (13)

Frage von ZeroCool23 zum Thema Windows 10 ...