3

我有一个包含在随机命名的 zip 文件中的随机文件名的 zip 文件。我正在完善以下示例代码:

$shell = new-object -com shell.application
 $zip = $shell.NameSpace(“C:\howtogeeksite.zip”)
foreach($item in $zip.items())
 {
 $shell.Namespace(“C:\temp\howtogeek”).copyhere($item)
 }

外部 zipfile 包含几百个我不需要的文件以及其中的一个 zipfile - 我如何改进上述源代码以仅获取内部 zip 文件(它可以从外部 zipfile 中提取所有扩展名为 . zip)...请告知最简单的方法。谢谢!

4

1 回答 1

2

您需要在提取之前遍历内容检查每个项目的文件扩展名是否为“.zip”。像这样的东西应该工作:

$shell = new-object -com shell.application
$zip = $shell.NameSpace(“C:\howtogeeksite.zip”)

foreach($item in $zip.items()){

    if([System.IO.Path]::GetExtension($item.Path) -eq ".zip"){

        $shell.Namespace(“C:\temp\howtogeek”).copyhere($item)

    }

}
于 2013-07-25T12:28:49.123 回答