Parâmetro de destino de atalho do Windows que inicia com um @

12

Eu tenho um aplicativo do Windows que preciso invocar com um atalho na área de trabalho e alguns parâmetros de linha de comando.

Eu fiz isso milhares de vezes, mas esse é um pouco diferente. Em vez de usar um parâmetro de linha de comando normal como -e 12345 ou -example 12345 , este usa @12345 (começando com o símbolo @ ).

Os atalhos do Windows não gostam deste parâmetro que vem imediatamente após o nome do executável, e apenas remove tudo. Eu não sei porque.

Por exemplo:

c:\example\example.exe @12345 -e9876 como o "destino", ao salvar, exclui todos os parâmetros e deixa apenas c:\example\example.exe como destino.

Mas c:\example\example.exe -e9876 @12345 funciona muito bem. Ele salva e valida e tudo é bom.

No entanto eu preciso que o parâmetro @ seja o primeiro no comando. Além de fazer algo como agrupar o comando em um arquivo em lote e chamar o lote, como posso ter um símbolo @ como o primeiro parâmetro de linha de comando em um atalho do Windows?

    
por Mark Henderson 01.07.2015 / 23:29

1 resposta

13

Quem sabia? ... O Windows aparentemente trata o caractere @ como um delimitador. Comandos do Windows só interpretarão o primeiro elemento no comando ... então truncará efetivamente o resto. Aparentemente, você pode sobrescrever o comportamento fornecendo um ^ antes dele para escapar do símbolo.

i.e.

c:\example\example.exe ^@12345 -e9876

    
por 02.07.2015 / 00:26