Назад | Перейти на главную страницу

Морошка PowerShell

Я пытаюсь автоматизировать загрузку файлов в Glacier с помощью оснастки PowerShell Cloudberry Explorer, но не могу копировать файлы в предпочтительное место назначения. По какой-то причине структура исходных каталогов зеркально отражена в хранилище 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