You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure DevOps管道报错:Cmd.exe退出代码1,求YAML脚本问题排查

问题根源

你的YAML脚本用了Linux/bash风格的命令,但如果Azure DevOps管道跑在Windows代理上,script任务默认会用Cmd.exe执行——Cmd根本不认识mkdir -p、copy -R这类Linux语法,这就是报错的原因。

两种解决办法

办法1:强制用Bash执行

给script任务加上shell: bash配置,这样不管代理是Windows还是Linux,都会用Bash解析命令,同时注意把Linux里的复制命令从copy改成正确的cp:

- script: | # Build your HTML and CSS files (No actual compilation, just copying)
    mkdir -p $(Build.BinariesDirectory)/website
    cp -R * $(Build.BinariesDirectory)/website/
  displayName: 'Copy Website Files'
  shell: bash

办法2:改用Windows Cmd兼容语法

如果必须用Cmd执行,把命令换成Cmd支持的写法:

- script: | # Build your HTML and CSS files (No actual compilation, just copying)
    mkdir "$(Build.BinariesDirectory)\website"
    xcopy /E /Y * "$(Build.BinariesDirectory)\website\"
  displayName: 'Copy Website Files'
  • mkdir不需要-p参数,Cmd的mkdir会自动创建多级目录
  • xcopy /E用来递归复制所有文件和子目录,/Y表示覆盖文件时不弹出确认提示

内容的提问来源于stack exchange,提问作者Dion

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 04:34:56