passar parâmetros ao arquivo em lote no comando msdeploy runcommand
Eu não consigo fazer isso funcionar
call "%MSDeployPath%msdeploy" -verb:sync -source:runCommand='backup.bat param1' -dest:auto,computername=10.xx.xx.xx,username=xxx,password=yyy
Isso me dá:
Aviso: 'backup.bat' não é reconhecido como um comando interno ou externo, programa operável ou arquivo em lotes.
Aviso: o processo 'C: \ Windows \ system32 \ cmd.exe' (linha de comando '') saiu com o código '0x1'. Total de alterações: 1 (0 adicionado, 0 excluído, 1 atualizado, 0 parâmetros alterados, 0 bytes copiados)
Se eu remover o param1 e codificá-lo dentro do .bat, ele funcionará, então não há problema com o arquivo bat, caso você se pergunte.
Eu tentei especificar o caminho completo para o .bat e ainda não funciona:
call "%MSDeployPath%msdeploy" -verb:sync -source:runCommand='c:\backup.bat param1' -dest:auto,computername=10.xx.xx.xx,username=xxx,password=yyy
Neste caso, parece que ele interpreta o caminho como um caminho remoto, ele espera que o backup.bat esteja no servidor. Isso foi confirmado para mim depois que eu mudei o backup.bat no servidor, funcionou
Por que tem que ser tão difícil?