惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

P
Privacy & Cybersecurity Law Blog
人人都是产品经理
人人都是产品经理
The Cloudflare Blog
B
Blog RSS Feed
罗磊的独立博客
V
V2EX
V
Visual Studio Blog
博客园 - 叶小钗
W
WeLiveSecurity
小众软件
小众软件
K
Kaspersky official blog
美团技术团队
雷峰网
雷峰网
阮一峰的网络日志
阮一峰的网络日志
Martin Fowler
Martin Fowler
Recorded Future
Recorded Future
Project Zero
Project Zero
Hugging Face - Blog
Hugging Face - Blog
Engineering at Meta
Engineering at Meta
Security Latest
Security Latest
Microsoft Azure Blog
Microsoft Azure Blog
V
Vulnerabilities – Threatpost
月光博客
月光博客
博客园 - 三生石上(FineUI控件)
Help Net Security
Help Net Security
博客园 - Franky
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
F
Fortinet All Blogs
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Forbes - Security
Forbes - Security
M
MIT News - Artificial intelligence
H
Hacker News: Front Page
大猫的无限游戏
大猫的无限游戏
Vercel News
Vercel News
Spread Privacy
Spread Privacy
The Register - Security
The Register - Security
H
Hackread – Cybersecurity News, Data Breaches, AI and More
量子位
Google Online Security Blog
Google Online Security Blog
PCI Perspectives
PCI Perspectives
The Last Watchdog
The Last Watchdog
AI
AI
N
News | PayPal Newsroom
D
DataBreaches.Net
Cloudbric
Cloudbric
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
博客园 - 司徒正美
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
T
Tailwind CSS Blog

博客园 - Icebird

谈谈批处理文件里的注释 在.NET中使用PhysFS来挂载压缩包(zip) 用户中心 - 博客园 Password for ReportBuilder Enterprise v10.08 Retail For Delphi 7-Lz0 [Delphi] DUnitID 0.17.4725 RSSReader JavaScript Edition [Delphi] GetClass与RegisterClass的应用一例 DelForEx v2.5 for Delphi 2007 我的Delphi开发经验谈 JBookManager v1.00.2008314 (编辑管理您的Jar电子书) Windows优化大师的一点研究 [Delphi] 发布QuickenPanel Component LINQ to JavaScript [PowerShell] SFV生成与校验 [PowerShell] GBK简繁转换 [PowerShell] PowerShell学习脚印 JavaScript测试页面 DevExpress ExpressScheduler 快速编译批处理文件 备份工具 SmartBackup的源代码
[PowerShell] 将rar文件转换为zip格式
Icebird · 2008-02-13 · via 博客园 - Icebird

# 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下载:
https://files.cnblogs.com/Icebird/PKZIP25.rar