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

如何从Azure Repo批量删除CSV列表中的JSON管道文件?

批量删除Azure Repo中指定文件的PowerShell方案

前置准备

  • 确保已将目标Azure Repo完整克隆到本地工作目录
  • 确认CSV文件格式:建议包含一列存储文件的完整相对路径(相对于仓库根目录),列名可设为FilePath;如果CSV仅存纯路径(无表头),脚本需要小调整

PowerShell脚本实现

情况1:CSV带表头(列名为FilePath)

# 设置CSV文件路径
$csvPath = "C:\path\to\your\file_list.csv"

# 读取CSV并循环处理每个文件
Import-Csv -Path $csvPath | ForEach-Object {
    $filePath = $_.FilePath
    # 检查文件是否存在,避免无效操作
    if (Test-Path -Path $filePath -PathType Leaf) {
        Write-Host "正在删除文件: $filePath"
        # 执行git删除命令
        git rm $filePath
    }
    else {
        Write-Warning "文件不存在,跳过: $filePath"
    }
}

情况2:CSV无表头(仅存文件路径列表)

$csvPath = "C:\path\to\your\file_list.csv"

Get-Content -Path $csvPath | ForEach-Object {
    $filePath = $_.Trim() # 去除路径前后的空格
    if ($filePath -ne "" -and (Test-Path -Path $filePath -PathType Leaf)) {
        Write-Host "正在删除文件: $filePath"
        git rm $filePath
    }
    else {
        Write-Warning "无效路径或文件不存在,跳过: $filePath"
    }
}

后续操作

脚本执行完成后,需要提交删除操作并推送到远程仓库:

# 查看删除变更
git status

# 提交变更(替换为你的提交信息)
git commit -m "批量清理2000个废弃JSON管道文件"

# 推送到远程分支(替换为你的分支名,比如main)
git push origin main

注意事项

  • 先测试:可以先在CSV中保留几个文件路径,执行脚本测试删除逻辑,确认无误后再全量运行
  • 备份:执行前建议备份本地仓库或关键文件,避免误删
  • 路径正确性:确保CSV中的文件路径是相对于仓库根目录的相对路径,而非绝对路径

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 20:05:33