如果已经存在,则使Set-AzureStorageBlobContent的选项不会覆盖Blob

时间:2018-10-20 01:54:31

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

我使用下面的PowerShell命令行将文件上传到Blob存储并覆盖(如果已存在):

Set-AzureStorageBlobContent -Confirm:$false -Force

效果很好。

对于另一种情况,我需要做相反的事情,并确保Set-AzureStorageBlobContent不会覆盖blob(如果已存在)。

我知道我可以使用这里解释的逻辑:

How to check if a blob already exists in Azure blob container using PowerShell

但是,我希望PowerShell中有一个更简单的选项。

我希望应该有一种方法可以自动回答Powershell的-Confirm提示中的“否”。

这里可以使用任何PowerShell技术吗?

1 个答案:

答案 0 :(得分:1)

-confirm提示的特定目标是强制用户做出响应,或使用户免于响应。

# Throw prompt
Remove-Item -Path:'D:\Temp\input - Copy.txt' -Confirm:$true

# Don't throw prompt
Remove-Item -Path:'D:\Temp\input - Copy.txt' -Confirm:$false -Verbose

VERBOSE: Performing the operation "Remove File" on target "D:\Temp\input - Copy.txt".

您指向的讨论是谨慎的。没有许多对象交互的自动答案,当这些选项不存在时,您必须执行讨论中强调的内容。

或者只是一个简单的if或try..catch语句。

if((Test-Path 'D:\temp\aliases.htm') -eq $true){
    'Do nothing'
}


if((Test-Path 'D:\temp\aliases.htm') -eq $false){
    'do something'
}

您在考虑什么,比这些例子更简单?