schorschi35
Goto Top

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.

Content-Key: 1012213650

Url: https://administrator.de/contentid/1012213650

Printed on: April 19, 2024 at 12:04 o'clock

Member: TK1987
Solution TK1987 Jul 15, 2021 updated at 14:34:24 (UTC)
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
Member: schorschi35
schorschi35 Jul 15, 2021 at 18:16:43 (UTC)
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