Azure Dev Op:'C:\Program' 未被识别为内部或外部命令

Azure Dev Op: 'C:\Program' is not recognized as an internal or external command

我正在尝试 运行 Azure Dev ops 上的发布作业。

我有 4 个任务:

我正在使用存档远程文件夹创建部署文件夹的 7zip 备份。与存档文件任务相比,此任务允许您排除文件类型。

我的问题出现在归档期间,这是错误消息:

我试过在环境变量中添加7zip,还是一样。我在想也许只是 运行 一个本地 powershell 任务来执行存档,我可以在其中将引号添加到程序文件中 7zip 所在的位置。

有趣的是,我对两个盒子进行了相同的设置,但是第一个运行没问题。

我应该检查什么?

谢谢。

与官方 Archive Files task 不同,Archive Remote Folder Task 是由社区贡献者发布的第 3 方扩展。

也安装并测试了这个任务,但无法在我们的环境中重现同样的错误。

根据tutorial这个市场任务,您需要满足以下要求:

  • 您的远程服务器必须启用并配置了 WinRM。
  • 您的远程服务器必须安装 7z。

'C:\Program' is not a recognized as a internal or external command 这看起来像您的本地路径 C:\Program Files\xx 包含空格被视为命令行的一部分。

由于存档远程文件夹任务的最新更新是 11/17/2016,我认为向作者提交错误不是一个好主意。

正如您在问题中指出的那样,您可以 运行 本地 powershell 任务来执行存档。另一种选择是编写自己的扩展任务来处理该过程,您可以查看 Archive Remote Folder TaskArchive Files task.[=15= 这两个开源代码]

@PatrickLu-MSFT

是的,我就是这么想的。我不知道 7z exe 的路径如何不被视为字符串。我最后所做的是围绕 7z 创建我自己的 powershell 包装函数并以这种方式存档。从那里开始一切顺利。