[PowerShell] 将rar文件转换为zip格式

本文提供了一个使用PowerShell编写的脚本,该脚本能够将RAR文件转换为ZIP格式。转换过程依赖于WinRAR和PKZIP25.EXE工具。首先,脚本会解压RAR文件到临时目录,然后使用PKZIP25重新打包为ZIP文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

None.gif #  Author: Icebird@cnblogs
None.gif#
 Purpose: RAR2ZIP
None.gif

None.gif
function  Global:rar2zip( $rarfile   =   $ ( throw   " 缺少参数 " ),  $zipfile   =   "" )
None.gif{
None.gif
None.gif
trap
None.gif{
None.gif  
$_ .InvocationInfo
None.gif  write
- host ( " {0,-17:S}{1} {2} "   -f   " Exception " " : " $_ .Exception.Message)
None.gif  
break
None.gif}
None.gif
None.gif
function  exist( $path $name )
None.gif{
None.gif    
return  (dir  $path   |   ?  {  $_ .Name  -eq   $name  }  |  measure - object).Count  -gt   0
None.gif}
None.gif
None.gif
function  deltree( $path $name )
None.gif{
None.gif    
if  (exist  " $path "   " $name " )
None.gif    {
None.gif        del 
" $path\$name "   - recurse
None.gif    }
None.gif}
None.gif
None.gif
$s   =  gp hklm:\Software\Classes\WinRAR\shell\open\command  |  findstr  " (default) "
None.gif
if  ( $s   -eq   $null )
None.gif{
None.gif    
return   " 请先安装WinRAR "
None.gif}
None.gif[regex] 
$regex   =   " `"(.+?)`" "
None.gif
$rar   =  ( $regex .matches( $s ))[ 0 ].Groups[ 1 ].Value  -replace   " WinRAR.exe " , " RAR.exe "
None.gif
None.gif
None.gif
$s   =  dir  " $rarfile "
None.gif
if  ( $s   -eq   $null )
None.gif{
None.gif    
return   " $rarfile 不存在 "
None.gif}
None.gif
None.gif
$tempdir   =   $ {env:Temp}  +   " \rar2zip "
None.gifdeltree 
$ {env:Temp}  " rar2zip "
None.gifmd 
$tempdir   >   $null
None.gif
& $rar  x  " $rarfile "   " $tempdir "
None.gif
None.gif
if  ( $zipfile   -eq   "" )
None.gif{
None.gif    
if  ( $rarfile   -match   " .rar$ " )
None.gif    {
None.gif        
$zipfile   =   $rarfile   -replace   " .rar$ " , " .zip "
None.gif    }
None.gif    
else
None.gif    {
None.gif        
$zipfile   =   $rarfile   +   " .zip "
None.gif    }
None.gif}
None.gifpkzip25 
- add  - max  - rec  - path = relative  " $zipfile "   " $tempdir\*.* "
None.gifdeltree 
$ {env:Temp}  " rar2zip "
None.gif}
None.gif

这段脚本将增加一个全局函数rar2zip,用途是将rar文件转换成zip文件

注意:
1. 需要安装WinRAR
2. PKZIP25.EXE在搜索路径里的任意目录内


Usage:

rar2zip mydoc.rar
rar2zip mydoc.rar doc.zip

pkzip25.exe下载:
http://files.cnblogs.com/Icebird/PKZIP25.rar
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值