Я пытаюсь использовать 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"
}
Текстовый файл IS создан, и он показывает правильный путь назначения. Я запустил PowerShell от имени администратора и попробовал еще раз, но, похоже, это тоже не сработало. Не уверен, имеет ли это значение, но я использую Windows 10 (последняя версия).
Любая помощь будет оценена. Спасибо!