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

Azure DevOps如何批量删除文件夹无需逐个提交更改?

在Azure DevOps中批量删除远程仓库文件夹(无需本地克隆)

可以通过Azure DevOps REST API或Azure CLI实现批量删除远程文件夹,无需克隆本地仓库,也能批量提交变更,无需逐个确认。

方法一:使用Azure DevOps REST API

这种方式适合自动化脚本场景,能一次性提交多个删除操作:

  1. 生成个人访问令牌(PAT):在Azure DevOps门户的「用户设置」→「个人访问令牌」中,创建一个拥有Code (Full)权限的令牌,保存好令牌值。
  2. 构造删除请求体:新建JSON文件(比如delete-folders.json),按以下格式列出所有要删除的文件夹路径:
[
  {
    "changeType": "delete",
    "item": {
      "path": "/FolderA"
    }
  },
  {
    "changeType": "delete",
    "item": {
      "path": "/FolderB/SubFolder1"
    }
  },
  {
    "changeType": "delete",
    "item": {
      "path": "/FolderC"
    }
  }
]
  1. 发送批量删除请求:用curl或其他HTTP工具调用API,示例curl命令:
# 将PAT转为Base64编码(Linux/macOS)
PAT_BASE64=$(echo -n ":你的PAT令牌" | base64)

# 发送POST请求
curl -X POST \
  -H "Content-Type: application/json" \
  -H "Authorization: Basic $PAT_BASE64" \
  -d @delete-folders.json \
  "https://dev.azure.com/你的组织名/你的项目名/_apis/git/repositories/你的仓库ID/pushes?api-version=7.1-preview.2"

替换命令中的占位符(组织名、项目名、仓库ID、PAT令牌)为实际值,执行后所有指定文件夹会被一次性删除并提交到远程仓库。

方法二:使用Azure DevOps CLI

适合手动快速操作,可通过脚本批量执行删除:

  1. 配置Azure CLI:确保已安装Azure CLI,运行az login登录Azure账号,再执行az devops configure --defaults organization=https://dev.azure.com/你的组织名 project=你的项目名设置默认组织和项目。
  2. 批量删除文件夹脚本:创建bash脚本(Windows可改用PowerShell),遍历文件夹列表执行删除:
# 定义要删除的文件夹路径数组
TARGET_FOLDERS=(
  "/FolderA"
  "/FolderB/SubFolder1"
  "/FolderC"
)

# 遍历批量删除,--yes参数跳过确认
for FOLDER in "${TARGET_FOLDERS[@]}"; do
  az repos file delete --repository 你的仓库名 --path "$FOLDER" --branch main --yes
done

执行脚本后,所有指定文件夹会被直接删除并提交到远程主分支(若要在分支操作,只需修改--branch参数为目标分支)。

注意事项

  • 操作前建议先在测试分支验证删除逻辑,避免误删重要文件。
  • REST API方式可一次性提交所有删除变更,CLI方式会逐个提交但无需手动确认。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 13:21:09