Batch - bitte um Hlfestellung
Hallo,
unsere TK-Anlage (3CX) übergibt eine Variable zum Öffnen externer Programme.
Die Variable (%1) sieht wie folgt aus "012345678:6123-Name des angerufenen"
Ist es möglich die vier Zahlen hinter dem Doppelpunkt (6123) zu filtern und als Variable an eine weitere Batch zu übergeben?
Ich habe noch nen 30€ Amazon Gutschein, den ich gerne für die Lösung spendiere.
Danke und viele Grüße
Michael
unsere TK-Anlage (3CX) übergibt eine Variable zum Öffnen externer Programme.
Die Variable (%1) sieht wie folgt aus "012345678:6123-Name des angerufenen"
Ist es möglich die vier Zahlen hinter dem Doppelpunkt (6123) zu filtern und als Variable an eine weitere Batch zu übergeben?
Ich habe noch nen 30€ Amazon Gutschein, den ich gerne für die Lösung spendiere.
Danke und viele Grüße
Michael
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 579095
Url: https://administrator.de/contentid/579095
Ausgedruckt am: 05.12.2024 um 02:12 Uhr
7 Kommentare
Neuester Kommentar
@echo off
::set var1=012345678:6123-Name_des_aufgerufenen
::auslesen der textdatei
FOR /f "usebackq" %%a IN (./1.txt) DO set var1=%%a
::ausgeben einer neuen textdatei
echo %var1:~10,4% > 1new.txt
::ende
Hier. Ich gehe davon aus das die ersten Zahlen immer gleich lang sind, so kann man eine Stringoperation durchführen.
LG
Shadowmind
Moin.
Falls der Bindestrich immer hinter der Nummer kommt kannst du es hiermit auch noch etwas abkürzen
Gruß k.
@echo off
:: übergabe des ersten Parameters an for-Schleife
for /f "tokens=2 delims=:" %%a in ("%~1") do set "num=%%a"
:: extrahieren der ersten 4 Zeichen des zweiten Tokens des For-Loops
set "num=%num:~0,4%"
:: ausgabe der variable
echo %num%
:: Fuer eine weitergabe an eine andere Batch entfernst du das Kommentar der folgenden Zeile und aenderst den Pfad der aufzurufenden Batch
:: call "D:\andere_batch.cmd" "%num%"
pause
@echo off
:: übergabe des ersten Parameters an for-Schleife mit extraktion
for /f "tokens=2 delims=:-" %%a in ("%~1") do set "num=%%a"
:: Ausgabe der Variable
echo %num%
:: Fuer eine weitergabe an eine andere Batch entfernst du das Kommentar der folgenden Zeile und aenderst den Pfad der aufzurufenden Batch
:: call "D:\andere_batch.cmd" "%num%"
pause