我无法让这个工作起来。
call "%MSDeployPath%msdeploy" -verb:sync -source:runCommand='backup.bat param1' -dest:auto,computername=10.xx.xx.xx,username=xxx,password=yyy
这是错误提示:
警告:'backup.bat' 不被识别为内部或外部命令,可执行程序或批处理文件。
警告:进程 'C:\Windows\system32\cmd.exe'(命令行'')已退出,代码为 '0x1'。总更改量:1(0 添加,0 删除,1 更新,0 参数更改,0 字节复制)
如果我删除 param1 并在 .bat 文件中硬编码它,则可以正常工作,因此 .bat 文件没有问题,以防你想知道。
我尝试指定 .bat 的完整路径,但仍无法工作:
call "%MSDeployPath%msdeploy" -verb:sync -source:runCommand='c:\backup.bat param1' -dest:auto,computername=10.xx.xx.xx,username=xxx,password=yyy
在这种情况下,看起来它将路径解释为远程路径,它期望backup.bat在服务器上。在我将backup.bat移动到服务器之后,这一点得到了确认,它可以工作。
为什么要这么难呢?