我有一个随机文件名的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)...请告知最简单的方法。 谢谢!
答案 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)
}
}