Usando o “% ~ dp0” com argumentos de linha de comando não funcionando

1

Foi inventar um script de implantação para um software, que precisa instalar o Visual C ++ 2013 Redistributable, no modo silencioso, de uma fonte móvel (também conhecida como a pasta pode estar em uma chave, em um servidor, localmente etc.), como Admin.

Para todos os meus outros executáveis (MSI principalmente), usando "% ~ dp0" antes do nome do arquivo (assim: "% ~ dp0Antidote9.msi", seguido por argumentos como / quiet, / q, etc., funciona bem .

Mas para o VC Redist, ele não aceita meus argumentos.

Aqui está o meu comando completo:

start /wait "%~dp0vcredist_x64.exe" /install /quiet /norestart

Ele puxa o arquivo bem, mas depois diz que meus argumentos são inválidos, mesmo se eu remover o% ~ dp0 ele funciona bem, e eu tenho os argumentos de fazer vcredist_x64.exe /?.

Há algo que estou fazendo errado ou que preciso modificar para que meus argumentos estejam funcionando?

Obrigado antecipadamente!

    
por Alex Pilon 22.04.2016 / 18:32

1 resposta

2

Você pode usar %CD%\ , que significa Diretório atual , em vez de %~dp0 .

Eu não notei nenhuma diferença entre esses dois.

Em uma nota secundária, se você usou o comando start , a prática recomendada é adicionar um "" extra antes do início do programa e incluir todos os parâmetros em uma citação e escapar dos parâmetros citados quando necessário. Exemplo:

start /wait "" "%CD%\MyProgram.exe /link \"MyOtherDLL.dll\""
    
por 22.04.2016 / 19:52