powershell中压缩与解压缩zip文件的问题

powershell压缩与解压缩zip文件

powershell一些小使用技巧能在开发过程中带来便捷。

powerShell v5 以前

这里先介绍powershell v5之前的做法:

1.解压缩zip

function UnzipFile([string]$souceFile, [string]$targetFolder)
{
    if(!(Test-Path $targetFolder))
    {
        mkdir $targetFolder
    }
    $shellApp = New-Object -ComObject Shell.Application
    $files = $shellApp.NameSpace($souceFile).Items()
    #下面这句会删除已解压的,但不会影响目录内其它不相干的文件      
    $files|%{if (Test-Path ("$targetFolder/{0}" -f  $_.name )){Remove-Item ("$targetFolder/{0}" -f  $_.name) -Force -Recurse}}
    $shellApp.NameSpace($targetFolder).CopyHere($files)
}

usage:UnzipFile "C:\Users\Administrator\Desktop\test.zip" "C:\Users\Administrator\Desktop\"

2.压缩zip

powershell在v5之前没有直接进行压缩的方法,不过可以通过调用其他压缩工具或者依赖第三方库的方式来压缩,不过看起来就没那么优雅~

powerShell v5 中的改进

不得不说powershell让压缩和解压缩变得更简单了。
Compress-Archive 和 Expand-Archive cmdlets 是 PowerShell v5 中的一大改进,大家看名字应该就不难猜出其功能,使用起来也非常简单。

#将文件或文件夹test压缩为test.zip
Compress-Archive -Path D:\test -DestinationPath E:\test.zip
#将文件test.zip解压到test目录下
Expand-Archive -Path E:\test.zip -DestinationPath F:\test

是吧,一句代码搞定~

小结

v5版本之前的解压缩做法较v5版本的更加灵活,可以继续扩展脚本,同时能避免解压文件已经存在的冲突。
所以本人还是倾向于老版解压做法配合新版压缩方法。

  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Windows系统提供了多种方式进行解压缩操作。其一种方式是使用Powershell命令行工具进行解压缩操作。你可以按照以下步骤来进行操作: 1. 打开Powershell:按下Win键+X,选择Powershell,或者使用Windows搜索功能搜索Powershell并打开(可以选择以管理员权限运行)。 2. 解压缩文件:使用Expand-Archive命令进行解压缩操作。例如,如果你需要解压缩名为test.zip文件,可以在Powershell输入以下命令: ``` Expand-Archive test.zip ``` 解压缩后的文件将会保存在当前目录下的test文件。如果你想将文件解压缩到其他文件夹(例如FolderD),可以使用-DestinationPath参数指定目标路径,如下所示: ``` Expand-Archive test.zip -DestinationPath C:\FolderD ``` 3. 压缩文件:使用Compress-Archive命令进行压缩操作。例如,如果你需要将C:\Utst.pdf和Utst2.pdf这两个文件压缩成一个名为utest.zip压缩包,并将其保存在C:\test\文件,可以在Powershell输入以下命令: ``` Compress-Archive -Path C:\Utst.pdf, Utst2.pdf -CompressionLevel Optimal -DestinationPath C:\test\utest.zip ``` 需要注意的是,如果文件路径存在空格,可以将路径用双引号括起来,以确保命令能够正确执行。例如: ``` cd /d "c:\Program Files" ```<span class="em">1</span><span class="em">2</span> #### 引用[.reference_title] - *1* [windows自带的压缩/解压缩(zip/unzip)功能-Powershell 的应用之一](https://blog.csdn.net/m0_60558800/article/details/123759719)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [Windows下解压tar.gz压缩文件](https://blog.csdn.net/qq_42692386/article/details/109181437)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值