2017-10-26 15 views
3

にアップロードした後、ローカルファイルを削除し、次のエラーを取得しますなぜそれはC:\ Windows * blahblah *で見ていますか?は、彼らがAzureストレージにアップロードされた後、ローカルバックアップファイルを削除しようとするとAzureの

変数$ AzureDirを画面に出力すると、すべてのBLOBが表示されます。


は基本的に、それはおそらく明らかだけど、私がやりたいことは、私のバックアップDIR内の各ファイルをチェックし、それがAzureの内に存在する場合、それを削除し、そうでない場合は、アップロードの手順に進みます。必要に応じて残りのコードを共有することができます。


解決方法UPDATE:正しい道を私を指摘@OmegaManに

おかげで、私は私の問題を解決することができました。ここに私が今使っているものがあります。正しく4「塊」を介して循環し、正しく結果を使用します:

$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 
    } 
} 
+0

どのWindows *ビルド*が起動していますか(「winver」と入力してください)? – tambre

+0

@tambre、このマシンはServer 2016 Datacenter(v1607、build 14393.1770)を実行しています。 – Ilya

+0

このマシンのPSは5.1.14393.1770です。 – Ilya

答えて

0

あなたは罰金である、すべてのブロブに関する情報を保持するために1つのインスタンスで$AzureDirを使用するように見えるが、その後ライン$FileInBackup= $AzureDir + $_.Name$AzureDirがあると考えているようですリテラルディレクトリ名。

これらのインスタンスでは、ベースディレクトリが$AzureDirではなく、どこであるかを修正する必要があるようです。

+1

ありがとう@OmegaMan! これは私を正しい道に導いた。私はスクリプトを使って4つの異なるコンテナを適切にチェックし、それぞれのファイル名をループして、ベースディレクトリを修正するヒントを得ました。あなたの提案のおかげで、元の投稿を更新しました。 – Ilya

関連する問題