schorschi35

Komma im Parameter einer Batchdatei wird nicht übernommen

Hallo,

mein Problem ist die Übergabe eines Strings, der ein Komma enthält, an eine Batchdatei als Parameter ("0123456789,-*AVWC"). Der Text bis zum Komma ist innerhalb der Batchdatei verfügbar, aber das Komma und der Rest werden abgeschnitten und verworfen. Der Batch soll in einer Powershell unter W10 laufen. Nach vergeblicher 6-stündiger Suche seid Ihr meine letzte Hoffnung. Es haben weder einfache noch doppelte Hochkommata was gebracht, auch nicht der sonst mancherorts gebrauchte "\". Vielleicht kann man das Komma irgendwie escapen?

Ich sage schon mal Danke für Lösungsansätze.
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 1012213650

Url: https://administrator.de/forum/komma-im-parameter-einer-batchdatei-wird-nicht-uebernommen-1012213650.html

Ausgedruckt am: 04.06.2025 um 04:06 Uhr

TK1987
Lösung TK1987 15.07.2021 aktualisiert um 16:34:24 Uhr
Goto Top
Moin,

Zitat von @schorschi35:
Der Batch soll in einer Powershell unter W10 laufen.
wieso dann nicht gleich komplett in Powershell?!

Sei's drum. Aus Powershell heraus, musst du sicherstellen, dass die double quotes mit übergeben werden.
Dafür gibt es 3 Möglichkeiten:
# 1: Gesamten Parameter inkl. Double-Quotes noch mal in Single Quotes setzen
# (geht nicht, falls Powershell-Variablen innerhalb aufgelöst werden müssen)
&'C:\Pfad\zur\Batch.bat' '"0123456789,-*AVWC"'  

# 2: Double Quotes Escapen
&'C:\Pfad\zur\Batch.bat' `"0123456789,-*AVWC`"  

# 3: Je 3 Double-Quotes verwenden
&'C:\Pfad\zur\Batch.bat' """0123456789,-*AVWC"""  

Gruß Thomas
schorschi35
schorschi35 15.07.2021 um 20:16:43 Uhr
Goto Top
Hallo, Tomas,

vielen herzlichen Dank! Genau das ist es, was ich brauchte. Oft ist die Lösung so einfach,
man muss nur drauf kommen.

Danke und Gruß
Jürgen