schnullifaxer
Goto Top

Teile aus lokaler IPV4 Adresse auslesen und als Variablen nutzen

Guten Morgen zusammen,

ich verzweifele etwas mit meinen zu geringen Kenntnissen. Ich möchte gerne eine Batchdatei versuchen zu erstellen, mit der ich an Hand der eigenen lokalen IP Adresse eine Datei in einem Verzeichnis finden kann. Diese Datei würde ich dann gerne an eine andere Stelle kopieren.

Beispiel:

in einem für alle zugänglichen Verzeichnis sollen für Familienmitflieder Bilder zu finden sein.

Bild-020-1
Bild-020-2
Bild-030-1

Meine eigene IP Adresse ist die 192.168.20.11 und ich soll die Datei Bild-020-1.jpg bekommen (ob copy pder move ist noch nicht sicher). Meine Freundin mit ihrer IP Adress 192.168.20.12 die Datei Bild-020-2.jpg
Die Eltern mit der IP 192.168.30.11 die Datei dann Bild-030-1.jpg.
Damit kann immer das aktuelle Bild für die jeweilige Person geladen werden. Die IP Adresse kann ich leider nicht verändern, so dass sie einmal ins dritte Oktett mit führender Null und in die letzte Stelle zerlegt werden müsste.

Ich würde mich freuen, wenn jemand eine passene Idee hätte wie ich dann

Bild-0Variable1-Variable2.jpg

jeweils laden kann.

Ich hoffe, ich habe es genau genug beschrieben.

Danke schon mal im Voraus von einem schon etwas älteren Menschen

Content-ID: 4264965324

Url: https://administrator.de/forum/teile-aus-lokaler-ipv4-adresse-auslesen-und-als-variablen-nutzen-4264965324.html

Ausgedruckt am: 12.04.2025 um 21:04 Uhr

Doskias
Doskias 13.10.2022 um 10:47:47 Uhr
Goto Top
Moin,

wieso Batch und nicht Powershell? In Powershell wäre es ein Einzeiler:
$Bild=("Bild-020-1").Split("-")  
Und die Auswertung ergibt dann:
$Bild=Bild
$Bild[1]=020
$Bild[2]= 1

Gruß
Doskias
Schnullifaxer
Schnullifaxer 13.10.2022 um 11:43:45 Uhr
Goto Top
Damke für den Hinweis.

Ich möchte die IP Adresse zerlegen und dadurch die korrekte Datei abrufen.
Wenn ich also vom PC mit der IP 192.168.020,11 Dateien abrufen möchte, dann sollen nur Daten aus dem Verzeichnis übermittelt werden die die 020 und die 1 im Dateinamanen haben.

Also bekommt der Inhaber der IP

192.168.20.1 alle Bilder die Bild-020-1.jpg heissen
192.168.20.2 alle Bilder die Bild-020-2.jpg heissen
192.168.30.1 alle Bilder die Bild-030-1.jpg heissen

ohne wissen zu müssen, nach welchen Namen gesucht werden muss.

Idh möchte also die IP Adresse aufsplitten und nicht den Namen der Datei.

Ich hoffe, es ist etwas verständlicher face-smile
4091525239
4091525239 13.10.2022, aktualisiert am 14.10.2022 um 14:09:22 Uhr
Goto Top
@echo off &setlocal enabledelayedexpansion
set "ordner=f:\daten"  
for /f tokens^=2^ delims^=^" %%a in ('wmic nicconfig where "IPEnabled = 'True'" get IPAddress /value') do set "IP=%%a"  
for /f "tokens=3,4 delims=." %%a in ("%IP%") do (  
    set num=00%%a
    set set num=!num:~-3!
    dir /b /a-d "%ordner%\*-!num!-%%b.jpg"  
}
Schnullifaxer
Schnullifaxer 14.10.2022 um 13:48:59 Uhr
Goto Top
Hallo Paddel,

Dank Deine Scripts konnte ich mit einer kleinen Änderung (eine Klammer wollte wohl nicht so ganz und die Bindestriche lassen sich für DIR und Copy nicht verwenden) den erhofften Effekt erzielen! Danke schon nochmals dafür.

Was mir noch fehlt ist das Auslesen der IP Adresse. In Deinem Script war das ja vordefiniert. Wenn ich das Script aber auf die PCs als immer gleiches/gleichnamiges Script hinterlegen möchte, muss ich ja die IP des PCs auf dem es dann läuft auslesen und benutzen. Ansonsten müsste ich es für jeden PC per Hand einrichten und im Falle - dass es gelöscht wurde - auch immer wieder individuell anpassen. Mit der ermittelten IP wäre das nicht notwendig. Vielleicht gibt es ja noch eine Idee, wie ich die aktuelle IP "abfagen" und dann im Script als set IP nutzen kann. Der Rest klappt ja dann face-smile
4091525239
4091525239 14.10.2022 aktualisiert um 14:04:58 Uhr
Goto Top
Zitat von @Schnullifaxer:
Dank Deine Scripts konnte ich mit einer kleinen Änderung (eine Klammer wollte wohl nicht so ganz und die Bindestriche lassen sich für DIR und Copy nicht verwenden)
Quark ...
Was mir noch fehlt ist das Auslesen der IP Adresse.
wmic, For-Schleife und Google ist dein Freund => Hausaufgabe face-smile.
Schnullifaxer
Schnullifaxer 14.10.2022 um 14:06:47 Uhr
Goto Top
Mir war es mit Dir Bild-020-01.jpg nicht gelungen das Bild zu finden. Aber mit einen STernchen klappte es ja dann face-smile

Und Danke für die Hausaufgabe - vielleicht war es genau das, was mir noch fehlte zu meinem Wochenende face-smile
Schnullifaxer
Schnullifaxer 17.10.2022 um 15:32:16 Uhr
Goto Top
Hallo Paddler,

Danke noch mal für Deine Bemühungen. Leider war ich nicht schlau genug die IP Adresse in das passende Format zu verwandeln. Nachdem ich dann am WE noch Stresss wegen meinem Verbeissen in der Hausaufgabe bekommen habe, habe ich es lieber aufgegeben. War halt eine schöne Idee.