ich habe diese Zeile in eine Bat-Datei eingegeben (kurz pausieren, um zu sehen, was eingegeben wurde)
start my_program -m y -f %s_%d_fix -z n
pause
es läuft am Ende so
start my_program -m y -f d_fix -z n
wie Sie sehen, wird der Teil „%s_%“ entfernt.
Ich habe versucht herauszufinden, ob das „%“ dazu geführt hat, dass die Zeilen anders gelesen wurden, aber es ist kein Problem. Beim Eintippen in cmd
erhält das gestartete Programm falsche Argumente. Irgendwelche Gedanken dazu? Danke.
Antwort1
Windows Cmd und MS-DOS Command.com werden verwendet, %
um Umgebungsvariablen anzuzeigen. In Ihrem Fall %s_%
wird als Variablenerweiterung interpretiert (wobei s_
als Name der Variable fungiert) und zu einer leeren Zeichenfolge erweitert.
Um das %
Zeichen unverändert beizubehalten, verwenden Sie %%s_%%d_fix
.