por que o arquivo em lote executa linhas diferentes daquelas que contém

por que o arquivo em lote executa linhas diferentes daquelas que contém

digitei esta linha em um arquivo bat (pause só para ver o que foi digitado)

    start my_program -m y -f %s_%d_fix -z n
    pause

acaba rodando isso

    start my_program -m y -f d_fix -z n

como você pode ver, a parte% s_% foi removida,
tentei procurar se% causou a leitura das linhas de maneira diferente, mas está tudo bem ao digitar cmd,
o programa iniciado obtém argumentos incorretos, alguma opinião sobre isso? obrigado.

Responder1

Windows Cmd e MS-DOS Command.com são usados %​​para indicar variáveis ​​de ambiente. No seu caso, %s_%é interpretado como uma expansão de variável (com s_atuação como o nome da variável) e é expandido para uma string vazia.

Para preservar o %sinal inalterado, use %%s_%%d_fix.

informação relacionada