gpt4 book ai didi

powershell - 通过 Powershell 从 zip 中提取某个文件似乎不在子文件夹中查找

转载 作者:行者123 更新时间:2023-12-02 22:12:17 29 4
gpt4 key购买 nike

我对 Powershell 非常陌生,尤其是对 Powershell 和 ZIP 文件。我想从传递的 zipfile 中解压缩特定文件。为此,我有下面的代码。下面的代码应该得到一个 *.update从 zipper 。

我遇到的问题是特定文件位于另一个文件夹中。运行脚本时,它似乎不会在 zip 中的文件夹中查找更多文件。

我已经通过 $item 在 $item 和/或 foreach 上尝试了 GetFolder。到目前为止没有成功。有人有想法或方向吗?

function ExtractFromZip ($File, $Destination) {
$ShellApp = new-object -com shell.application
$zipFile = $ShellApp.NameSpace($File)
foreach($item in $zipFile.Items())
{
Write-Host $item.Name

if ($item.GetFolder -ne $Null) {
Write-Host "test"
}

if ($item.Name -like "*.update") {
$ShellApp.Namespace($Destination).copyhere($item)
break;
}
}
}

最佳答案

以下是在较新版本的 Powershell 中本地执行此操作的方法:

Add-Type -Assembly System.IO.Compression.FileSystem
$zip = [IO.Compression.ZipFile]::OpenRead($sourceFile)
$zip.Entries | where {$_.Name -like '*.update'} | foreach {[System.IO.Compression.ZipFileExtensions]::ExtractToFile($_, "C:\temp\test", $true)}
$zip.Dispose()

关于powershell - 通过 Powershell 从 zip 中提取某个文件似乎不在子文件夹中查找,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32526175/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com