gpt4 book ai didi

powershell - 上传到Azure后删除本地文件

转载 作者:行者123 更新时间:2023-12-04 07:52:35 24 4
gpt4 key购买 nike

尝试将本地备份文件上传到 Azure 存储后删除,出现以下错误:

Get-ChildItem : Cannot find path 'C:\Windows\system32\Microsoft.WindowsAzure.Commands.Common.Storage.ResourceModel.AzureStorageBlob' because it does not exist.

运行以下代码时:

$BackupDir= 'C:\BackupDir'
$AzureDir= Get-AzureStorageBlob -Context $context -Container $containername -blob $file.name
Get-ChildItem $AzureDir | ForEach-Object
{
$FileInBackup= $AzureDir + $_.Name
If (Test-Path $FileInBackup) {Remove-Item $FileInBackup}
}

为什么它在 C:\Windows*blahblah* 中查找?

如果我将变量 $AzureDir 打印到屏幕上,我会看到所有的 blob。

<小时/>

基本上,这可能是显而易见的,但我想要做的是检查备份 DIR 中的每个文件,如果它存在于 Azure 中,请将其删除,如果不存在,请继续执行上传步骤。如果需要,我可以分享其余的代码。

<小时/>

解决方案更新:

感谢@OmegaMan,他为我指明了正确的道路,我能够解决我的问题。这是我现在正在使用的。它正确循环 4 个“ Blob ”并正确使用结果:

$BackupDir = 'C:\BackupDir'
$AzureFiles = Get-AzureStorageBlob -Context $context -Container $containername -blob *.name
foreach ($AzureFile in $AzureFiles)
{
$FileInBackup = $AzureFile.name
If (Test-Path $BackupDir\$FileInBackup)
{
Remove-Item $FileInBackup
}
}

最佳答案

您似乎在一个实例中使用 $AzureDir 来保存所有 blob 信息,这很好,但是 $FileInBackup= $AzureDir + $_.Name 行似乎认为 $AzureDir 是一个文字目录名称。

看来您需要纠正这些实例中的基本目录而不是 $AzureDir 的位置。

关于powershell - 上传到Azure后删除本地文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46957033/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com