我正在尝试使用 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。我还通过使用 Start-Job 将 Compress-Archive 命令替换为 $destPath 变量的 Out-File 来运行一些测试。
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(最新)上运行。
任何帮助,将不胜感激。谢谢!