Escribí esta línea en un archivo bat (haga una pausa solo para ver qué se escribió)
start my_program -m y -f %s_%d_fix -z n
pause
termina ejecutando esto
start my_program -m y -f d_fix -z n
Como puede ver, la parte %s_% se elimina.
Intenté buscar si el % causó la lectura de las líneas de manera diferente, pero está bien al escribir cmd,
el programa iniciado obtiene argumentos incorrectos, ¿alguna idea sobre esto? gracias.
Respuesta1
Windows Cmd y MS-DOS Command.com se utilizan %
para indicar variables de entorno. En su caso, %s_%
se interpreta como una expansión de variable (que s_
actúa como el nombre de la variable) y se expande a una cadena vacía.
Para conservar el %
signo inalterado, utilice %%s_%%d_fix
.