我试图使用Cloudberry Explorer的PowerShellpipe理单元自动将file upload到Glacier,但似乎无法将文件复制到我的首选目标。 出于某种原因,源目录结构在Glacier库中被镜像。 例如,发生以下情况:
任何想法如何改变这种行为?
码:
#get name of oldest subfolder. subfolder names are based on date they were generated yyyyMMdd $oldestFolder = Get-ChildItem C:\folder1\subfolder1 -directory -name | Sort-Object -descending | select -last 1 $dateToProcess = $oldestFolder $srcFolder = "C:\folder1\subfolder1\" $dstFolder = $srcFolder # Compress directory before transmission $block = [scriptblock]::Create("7z a -ttar $dstFolder$dateToProcess.tar $srcFolder$dateToProcess; 7z a -tbzip2 $dstFolder$dateToProcess.tar.bz2 $dstFolder$dateToProcess.tar; del $dstFolder$dateToProcess.tar") & $block add-pssnapin CloudBerryLab.Explorer.PSSnapIn # Create connection $conn = Get-CloudGlacierConnection -UseSSL -Key [Access key] -Secret [Secret Key] # Set options Set-CloudOption -GlacierChunkSizeMB 4 Set-CloudOption -GlacierParallelUpload 1 $vault = $conn | Select-CloudFolder -Path "us-east-1/vaultName" $destination = $vault # Select source folder $src = Get-CloudFilesystemConnection | Select-CloudFolder $srcFolder # Upload files to Glacier by filter $src | Copy-CloudItem -Destination $destination -Filter "$dateToProcess.tar.bz2"
而不是这段脚本:
$block = [scriptblock]::Create("7z a -ttar $dstFolder$dateToProcess.tar $srcFolder$dateToProcess; 7z a -tbzip2 $dstFolder$dateToProcess.tar.bz2 $dstFolder$dateToProcess.tar; del $dstFolder$dateToProcess.tar")
应该有以下几点:
$block = [scriptblock]::Create("7z a -ttar $dstFolder$dateToProcess.tar $srcFolder$dateToProcess; 7z a -tbzip2 $dateToProcess.tar.bz2 $dstFolder$dateToProcess.tar; del $dateToProcess.tar")
使用以下命令将“c:\ folder1 \ subfolder1”添加到您的文件名中:
7z a -tbzip2 $ dateToProcess.tar.bz2 $ dstFolder $ dateToProcess.tar