Azure CLI - az storage file delete-batch:除一个特定文件外的所有文件的模式
Azure CLI - az storage file delete-batch: pattern for all but one specific file
我正在尝试从 Azure 存储文件共享中删除所有文件并排除一个特定文件名。我只是想不通模式。
我试过了,但模式现在不匹配。
az storage file delete-batch --source "https://myst.file.core.windows.net/myshare" --sas-token $sastoken --pattern "[!importantfile.py]"
您需要在单引号中添加模式参数,如下所示
az storage file delete-batch --source "https://myst.file.core.windows.net/myshare" --sas-token $sastoken --pattern '[!importantfile.py]*'
如果您在文件共享中有类似的文件,例如 (test.json.test1.json) ,请使用
az storage delete-batch with pattern filter 将无法排除特定文件的删除。
参考SO线程如何在
中使用pattern
或者,如果想要在文件共享中删除特定文件,您可以使用下面的强大功能 shell 脚本
connect-azaccount
$accountName = '<accountname>';
$accountKey = '<accountkey>';
$myshare = '<file sharename >';
$notremovalfile = '<file that need to be excluded from deletion>';
$filelist = az storage file list -s $myshare --account-name $accountName --account-key $accountKey
$fileArray = $filelist|ConvertFrom-Json
foreach ($file in $fileArray)
{
if($file.name -ne $notremovalfile)
{
Write-Host $file.name
az storage file delete --account-name $accountName --account-key $accountKey -s $myshare -p $file.name
Write-Host "deleting $file.name"
}
}
我正在尝试从 Azure 存储文件共享中删除所有文件并排除一个特定文件名。我只是想不通模式。
我试过了,但模式现在不匹配。
az storage file delete-batch --source "https://myst.file.core.windows.net/myshare" --sas-token $sastoken --pattern "[!importantfile.py]"
您需要在单引号中添加模式参数,如下所示
az storage file delete-batch --source "https://myst.file.core.windows.net/myshare" --sas-token $sastoken --pattern '[!importantfile.py]*'
如果您在文件共享中有类似的文件,例如 (test.json.test1.json) ,请使用
az storage delete-batch with pattern filter 将无法排除特定文件的删除。参考SO线程如何在
中使用pattern
或者,如果想要在文件共享中删除特定文件,您可以使用下面的强大功能 shell 脚本
connect-azaccount
$accountName = '<accountname>';
$accountKey = '<accountkey>';
$myshare = '<file sharename >';
$notremovalfile = '<file that need to be excluded from deletion>';
$filelist = az storage file list -s $myshare --account-name $accountName --account-key $accountKey
$fileArray = $filelist|ConvertFrom-Json
foreach ($file in $fileArray)
{
if($file.name -ne $notremovalfile)
{
Write-Host $file.name
az storage file delete --account-name $accountName --account-key $accountKey -s $myshare -p $file.name
Write-Host "deleting $file.name"
}
}