gpt4 book ai didi

msdeploy - 将参数传递给 msdeploy runco​​mmand 中的批处理文件

转载 作者:行者123 更新时间:2023-12-02 18:59:48 26 4
gpt4 key购买 nike

我无法让它工作

call "%MSDeployPath%msdeploy" -verb:sync -source:runCommand='backup.bat param1' -dest:auto,computername=10.xx.xx.xx,username=xxx,password=yyy

它给了我:

Warning: 'backup.bat' is not recognized as an internal or external command, operable program or batch file.

Warning: The process 'C:\Windows\system32\cmd.exe' (command line '') exited with code '0x1'. Total changes: 1 (0 added, 0 deleted, 1 updated, 0 parameters changed, 0 bytes copied)

如果我删除 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 移动到服务器上后,我证实了这一点,它有效

为什么一定要这么难???

最佳答案

编辑你是对的,documentation states cmd/bat 文件将流式传输到目的地。

在我看来,这只是该功能的一个限制,它不能接受参数。在部署时使用硬编码的设置创建批处理文件的修改版本应该不会太困难。

类似于:

REM Start of prepended script
SET SCRIPT_USERNAME=ThatGuy
REM End of prepended script

IF ("%SCRIPT_USERNAME%" == "") SET SCRIPT_USERNAME=%1

更新 浏览了 msdeploy 的反射源(咳咳)后,我可以确认这就是它当前的设计方式。它根据整个路径是否代表文件来决定是否上传文件。由于添加参数将阻止它解析文件路径,因此它不会上传任何内容。

关于msdeploy - 将参数传递给 msdeploy runco​​mmand 中的批处理文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12672893/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com