Я пытаюсь использовать PowerShell для сжатия нескольких видеофайлов на моем диске H: \. Тем не менее, запуск поочередно занимает много времени, так как накопитель довольно большой. Вот краткий фрагмент кода, который я использую. Некоторые детали были удержаны.
$shows = Get-ChildItem H:\
foreach($show in $shows){
Start-Job -ArgumentList $show -ScriptBlock {
param($show)
$destPath = "$($show.DirectoryName)\$($show.BaseName).zip"
Compress-Archive -Path $show.FullName -DestinationPath $destPath
}
}
Когда я запускаю Get-Job, задание отображается как выполненное без причины в JobStateInfo, но файл .zip не был создан. Я провел несколько тестов, заменив команду Compress-Archive на Out-File переменной $ destPath, используя также Start-Job.
Start-Job -ArgumentList $shows[0] -ScriptBlock {
param($show)
$show = [System.IO.FileInfo]$show
$destPath = "$($show.DirectoryName)\$($show.BaseName).zip"
$destPath | Out-File "$($show.DirectoryName)\test.txt"
}
Создан текстовый файл, и он показывает правильное место назначения дорожка. Я запустил PowerShell в качестве администратора и попробовал еще раз, но это тоже не работает. Не уверен, что это имеет значение, но я работаю на Windows 10 (последний).
Любая помощь будет принята с благодарностью. Спасибо!