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

如何用AzCopy排除特定文件,从本地网络共享复制到Azure存储共享

如何用AzCopy排除特定文件进行复制

你说的这个场景太常见了——复制共享目录时就想跳过某个占空间的大文件,可惜你当前用的旧版AzCopy(带/pattern参数的版本)确实没有直接的"排除模式"参数,不过有两种靠谱的解决办法:

方案1:升级到AzCopy v10(推荐)

新版的AzCopy v10已经补上了这个实用功能,专门提供了排除相关的参数。针对你要排除根目录下的FileToExclude.Zip,可以用--exclude-paths参数,命令大概是这样:

azcopy copy "$sharePath" "$destShareUri?$destShareSAS" --recursive --exclude-paths "FileToExclude.Zip"

几个关键点:

  • --recursive对应你原来的/S,负责递归复制子目录
  • --exclude-paths可以指定单个或多个要排除的内容,多个的话用分号隔开(比如"File1.zip;TempFolder/")
  • SAS密钥直接拼在目标URI后面就行,或者用--sas-token单独传也可以

方案2:旧版AzCopy结合PowerShell间接实现

如果暂时没法升级,用PowerShell筛选文件后再调用AzCopy也能搞定:

# 先拿到源目录里除了要排除的文件之外的所有内容
$filesToCopy = Get-ChildItem -Path $sharePath -Exclude "FileToExclude.Zip"

# 挨个复制这些内容
foreach ($item in $filesToCopy) {
    & $azCopyPath /Y /S /source:"$($item.FullName)" /dest:"$destShareUri/$($item.Name)" /DestSAS:"$destShareSAS"
}

这个方法虽然麻烦点,但能在旧版本里实现需求,就是子目录多的话可能速度会慢一点。

至于你疑惑为什么旧版没这个功能——其实是因为早期AzCopy的设计更偏向简单的"指定要复制什么",而新版本考虑到了更多复杂的批量复制场景,所以加了排除、过滤这些更灵活的参数,确实实用很多。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 06:26:31