是否有AzCopy参数来确保目标文件夹为空?
如果没有,我应该如何检查以确保VSTS构建管道中的文件夹为空?
答案 0 :(得分:0)
AFAIK,Azcopy具有可以only copy data that doesn't exist in the destination的功能,如果要在目标文件夹已存在时阻止AzCopy.exe,似乎没有必要检查目标文件夹是否为空。
使用
/XO
和/XN
参数可以分别排除较旧或较新的源资源。如果只想复制目标中不存在的源资源,则可以在AzCopy命令中同时指定两个参数
答案 1 :(得分:0)
传输的目的地是Blob还是本地文件?
如果是Blob,请使用以下脚本检查文件夹是否为空
$ctx=New-AzureStorageContext -StorageAccountName $StorageAccountName -StorageAccountKey $key
$blob = Get-AzureStorageBlob -Container $containerName -Prefix dir1/dir2/ -Context $ctx -MaxCount 1
if ($blob -eq $null)
{
# container/dir1/dir2/ Don't have blob, so do AzCopy transfer
}
如果是本地文件,请使用以下脚本:
$file = Get-ChildItem c:\dir1\dir2\
if ($file -eq $null)
{
# c:\dir1\dir2\ Don't have file, so do AzCopy transfer
}