powershell - 从zip中提取文件类型

时间:2013-07-24 13:59:40

标签: powershell zip

我有一个随机文件名的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包含我不需要的几百个文件以及其中的一个zip文件 - 如何优化上面的源代码以仅获取内部zip文件(它可以从外部zip文件中提取所有文件扩展名是.zip)...请告知最简单的方法。 谢谢!

1 个答案:

答案 0 :(得分: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)

    }

}