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
Please also mark the comments that contributed to the solution of the article
Content-ID: 579095
Url: https://administrator.de/forum/batch-bitte-um-hlfestellung-579095.html
Printed on: May 11, 2025 at 22:05 o'clock
7 Comments
Latest comment
@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