转并学习: 将rar文件转换为zip格式

【转自】http://www.cnblogs.com/Icebird/archive/2008/02/13/1068148.html

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

#  Author: Icebird@cnblogs
#
 Purpose: RAR2ZIP

function  Global:rar2zip( $rarfile   =   $ ( throw   " 缺少参数 " ),  $zipfile   =   "" )
{

trap
{
  
$_ .InvocationInfo
  write
- host ( " {0,-17:S}{1} {2} "   -f   " Exception " " : " $_ .Exception.Message)
  
break
}

function  exist( $path $name )
{
    
return  (dir  $path   |   ?  {  $_ .Name  -eq   $name  }  |  measure - object).Count  -gt   0
}

function  deltree( $path $name )
{
    
if  (exist  " $path "   " $name " )
    {
        del 
" $path/$name "   - recurse
    }
}

$s   =  gp hklm:/Software/Classes/WinRAR/shell/open/command  |  findstr  " (default) "
if  ( $s   -eq   $null )
{
    
return   " 请先安装WinRAR "
}
[regex] 
$regex   =   " `"(.+?)`" "
$rar   =  ( $regex .matches( $s ))[ 0 ].Groups[ 1 ].Value  -replace   " WinRAR.exe " , " RAR.exe "


$s   =  dir  " $rarfile "
if  ( $s   -eq   $null )
{
    
return   " $rarfile 不存在 "
}

$tempdir   =   $ {env:Temp}  +   " /rar2zip "
deltree 
$ {env:Temp}  " rar2zip "
md 
$tempdir   >   $null
& $rar  x  " $rarfile "   " $tempdir "

if  ( $zipfile   -eq   "" )
{
    
if  ( $rarfile   -match   " .rar$ " )
    {
        
$zipfile   =   $rarfile   -replace   " .rar$ " , " .zip "
    }
    
else
    {
        
$zipfile   =   $rarfile   +   " .zip "
    }
}
pkzip25 
- add  - max  - rec  - path = relative  " $zipfile "   " $tempdir/*.* "
deltree 
$ {env:Temp}  " rar2zip "
}

这段脚本将增加一个全局函数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
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值