Powershell解压ZIP压缩文档 2


论坛朋友在网上找了一段ZIP格式压缩包解压代码:

Function Unzip-File()
            {
                param([string]$ZipFile,[string]$TargetFolder)
                if(!(Test-Path $TargetFolder))
                {
                 mkdir $TargetFolder
                }
                    $shellApp = New-Object -ComObject Shell.Application
                    $files = $shellApp.NameSpace($ZipFile).Items()
                    $shellApp.NameSpace($TargetFolder).CopyHere($files)
            }
Unzip-File -ZipFile D:\Product.zip -TargetFolder D:\V1

可是,该代码有个小问题,当重复一个路径解压就会出现替换提示,造成干扰,本人没找到直接强制覆盖的办法,但是想了另外一个办法:

Function Unzip-File()
            {
                param([string]$ZipFile,[string]$TargetFolder)
                if(!(Test-Path $TargetFolder))
                {
                 mkdir $TargetFolder
                }
                    $shellApp = New-Object -ComObject Shell.Application
                    $files = $shellApp.NameSpace($ZipFile).Items()
		    #下面这句会删除已解压的,但不会影响目录内其它不相干的文件		
		    $files|%{Remove-Item ("$TargetFolder/{0}" -f  $_.name ) -Force -Recurse}
                    $shellApp.NameSpace($TargetFolder).CopyHere($files)	
            }
Unzip-File -ZipFile "D:\soft\A常用\passxp.zip" -TargetFolder D:\V1

 

本文链接: https://www.pstips.net/powershell_unzip-file.html
请尊重原作者和编辑的辛勤劳动,欢迎转载,并注明出处!

发表评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注

2 条评论 “Powershell解压ZIP压缩文档