Eu tenho um aplicativo do Windows que preciso chamar com um atalho na área de trabalho e alguns parâmetros da linha de comando.
Eu fiz isso milhares de vezes, mas este é um pouco diferente. Em vez de usar um parâmetro normal da linha de comando como -e 12345
ou -example 12345
, este usa @12345
(começando com o @
símbolo).
Os atalhos do Windows não gostam desse parâmetro imediatamente após o nome do executável e apenas retiram tudo. Não sei porque.
Por exemplo:
c:\example\example.exe @12345 -e9876
como o "alvo", ao salvar, retira todos os parâmetros e sai c:\example\example.exe
como o alvo.
Mas c:\example\example.exe -e9876 @12345
funciona muito bem. Ele salva e valida, e tudo é bom.
No entanto , preciso que o @
parâmetro seja o primeiro no comando. Além de fazer algo como agrupar o comando em um arquivo em lotes e chamá-lo, como posso um @
símbolo ser o primeiro parâmetro de linha de comando em um atalho do Windows?
.lnk
arquivos serem realmente diferentes. (Testado com o alvo, como um ficheiro batch que simplesmente ecoa os parâmetros passados no.)Respostas:
Quem sabia? ... O Windows aparentemente trata o
@
personagem como um delimitador. Os comandos do Windows interpretam apenas o primeiro elemento no comando ... portanto, efetivamente trunca o restante. Aparentemente, você pode substituir o comportamento fornecendo um^
antes dele escapar do símbolo.ie
c:\example\example.exe ^@12345 -e9876
fonte
$
e%
que podem causar outros problemas. Você pode escapar daqueles que usam o mesmo^
personagem. Você também pode escapar da fuga fazendo^^
o que pode esperar.