Azure PowerShell blob下载 - 确认总是

时间:2018-02-16 22:15:17

标签: powershell azure azure-storage azure-storage-blobs

我有一个脚本,可以使用PowerShell从Azure存储中下载blob:

ForEach ($blob in $topBlobs) {
    Write-Output "Downloading $blob.Name..."

    Get-AzureStorageBlobContent -Blob $blob.Name `
      -Container $ContainerName `
      -Destination $officeFolder `
      -Context $ctx -ErrorAction SilentlyContinue -Confirm:$false

    Write-Output "Done."
}

无论怎样,我怎么强迫它回答NO?如果我现在从命令行(Windows上的.cmd文件)运行它,它会要求确认!

2 个答案:

答案 0 :(得分:1)

默认情况下,-Confirm开关设置为false,因此您省略它。由于现有文件,您可能会看到确认对话框。您可以通过添加-force开关来绕过它。

好的,因为你不想覆盖文件,你可以这样做:

$existingFiles = Get-childitem $officeFolder | Select-Object -ExpandProperty Name
ForEach ($blob in ($topBlobs | Where-Object Name -NotIn $existingFiles)) {

    Write-Output "Downloading $blob.Name..."

    Get-AzureStorageBlobContent -Blob $blob.Name `
      -Container $ContainerName `
      -Destination $officeFolder `
      -Context $ctx 

    Write-Output "Done."
}

答案 1 :(得分:0)

您正在寻找确认标志here

它默认为false,但你可能会混淆它