导航:首页 > 文件处理 > 批处理解压缩文件

批处理解压缩文件

发布时间:2023-06-26 05:19:30

1. 怎么用批处理解压压缩包到当前文件夹

是利用winrar自带的一个命令行工具rar.exe来完成的
这个程序的命令行参数很丰富
直接在命令行输入"c:\program files\winrar\rar.exe"(假如你的rar是装在默认位置的话)

下面的批处理程序以一堆冒号为分界,分为三段

第一段,根据.rar文件的文件关联找到rar的安装目录
这里用到了ftype命令
在命令行中输入ftype就可以查看所有的文件关联信息
这里我们只关注Winrar
所以辅助了一个通道命令|find找到winrar所在的行

然后调用了一个叫做:getrarpath的子程序
这个子程序在第三段做了定义
它将path变量暂时设成了winrar的安装目录
path变量有什么用呢?当你输入一个程序名,没有路径时,系统会在当前路径和path指定的文件夹下寻找
这样我们输入rar.exe,系统就会自动在当前目录和C:\program files\winrar\下寻找rar.exe。这么写纯粹是为了用起来方便

第二段只有一句话
用到了rar.exe的e参数,即解压。可以指定路径,如
rar e d:\bc\ed.rar d:\test\
不指定的话则解压到当前目录

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
@echo off
setlocal
for /f "delims== tokens=1,*" %%a in ('ftype^|find /i "winrar="') do call:getrarpath %%b
if not exist "%path%\rar.exe" echo 找不到WinRAR&exit /b
::根据.rar的文件关联查找rar所在的路径

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

rar e d:\bc\ed.rar
::解压d:\bc\ed.rar到当前目录。当前目录指的是cmd的工作目录

exit /b

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

:getrarpath
::将工作路径path设为winrar所在目录
path %~dp1
exit /b

2. 批处理解压所有子文件夹内的压缩包

在需要解压的路径下进入cmd,输入下面这一段

for/r%ain(*.rar,*.zip)do"%ProgramFiles%WinRARWinRar.exe"x"%~a""%~dpa"-ibck

3. 如何使用bat批处理通过rar命令压缩/解压缩目录

1、首先,右键单击压缩器图标并选择“打开属性”。

4. 批处理 解压文件夹内所有压缩包至每个单独的文件夹

如果使用WINRAR进行解压,其本身就自带此功能,在资源管理器中选中所有压缩文档,右击出现右键菜单,再选择“解压每个包到单独文件”即可。
如果一定要批处理命令,则可查看WINRAR的帮助文件,里边会有命令行格式的注解。
如果文件在不同文件夹中,可先搜索该上级文件夹下的所有“*.RAR”文件,再按上述方法操作。

5. 关于bat中使用rar/zip压缩命令

 压缩参数

用法:     rar <命令> -<开关 1> -<开关 N> <压缩文件> <文件...>

<@列表文件...> <解压路径\>

<注释>

a             添加文件到压缩文件

c             添加压缩文件注释

cf            添加文件注释

ch            更改压缩文件参数

cw            写入压缩文件注释到文件

d             删除压缩文件中的文件

e             解压压缩文件到当前目录

f             刷新压缩文件中的文件

i[参数]=<串> 在压缩文件中查找字符串

k             锁定压缩文件

l[t,b]        列出压缩文件[技术信息,简洁]

m[f]          移动到压缩文件[仅对文件]

p             打印文件到标准输出设备

r             修复压缩文件

rc            重建丢失的卷

rn            重命名压缩文件

rr[N]         添加数据恢复记录

rv[N]         创建恢复卷

s[名字|-]     转换压缩文件为自解压格式或反之

t             测试压缩文件

u             更新压缩文件中的文件

v[t,b]        详细列出压缩文件[技术信息,简洁]

x             用绝对路径解压文件

<开关>

-             停止扫描

ac            压缩或解压后清除存档属性

ad            添加压缩文件名到目标路径

ag[格式]      使用当前日期生成压缩文件名

ao            添加具有存档属性的文件

ap<路径>      添加路径到压缩文件中

as            同步压缩文件内容

av            添加用户身份校验 (仅注册版)

av-           禁用用户身份校验

c-            禁用注释显示

cfg-          禁用读取配置

cl            名称转换为小写

cu            名称转换为大写

df            压缩后删除文件

dh            打开共享文件

ds            对固实压缩文件禁用名称排序

e[+]<属性>    设置文件排除和包括属性

ed            不添加空目录

en            不添加"压缩文件结束"标志

ep            从名称中排除路径

ep1           从名称中排除基本目录

ep2           展开为完整路径

ep3           扩展路径为包含盘符的完全路径

f             刷新文件

hp[密码]      同时加密文件数据和文件头

id[c,d,p,q]   禁用信息显示

ieml[地址]    邮寄压缩文件

ierr          发送所有消息到标准错误设备

ilog[名称]    把错误写到日志文件 (仅注册版)

inul          禁用所有消息

ioff          完成一个操作后关闭 PC 电源

isnd          启用声音

k             锁定压缩文件

kb            保留损坏的已解压文件

m<0..5>       设置压缩级别(0-存储...3-默认...5-最大)

mc<参数>      设置高级压缩参数

md<大小>      以KB为单位的字典大小(64,128,256,512,1024,2048,4096 or A-G)

ms[ext;ext]   指定存储的文件类型

mt<线程>      设置线程数

n<文件>       仅包括指定文件

n@            从标准输入设备读取要包括的文件名称

n@<列表>      在指定列表文件包括文件

o+            覆盖已存在文件

o-            不覆盖已存在文件

oc            设置 NTFS 压缩属性

or            自动重命名文件

os            保存 NTFS 流

ow            保存或恢复文件所有权和组

[密码]        设置密码

p-            不询问密码

r             包含子目录

r0            仅包含通配符名称的子目录

ri

[:]   设置优先级 (0-默认,1-最小..15-最大) 和休眠时间(毫秒)

rr[N]         添加数据恢复记录

rv[N]         创建恢复卷

s[,v[-],e] 创建固实压缩文件

s-            禁用固实压缩文件

sc[obj] 指定字符集

sfx[名称]     创建自解压文件

si[名称]      从标准输入设备读取数据

sl<大小>      处理小于指定大小的文件

sm<大小>      处理大于指定大小的文件

t             压缩后测试文件

ta<日期>      添加日期 <日期> 后修改的文件,日期格式 YYYYMMDDHHMMSS

tb<日期>      添加日期 <日期> 前修改的文件,日期格式 YYYYMMDDHHMMSS

tk            保留原始压缩文件时间

tl            设置压缩文件时间为最新时间

tn<时间>      添加 <时间> 以后的文件

to<时间>      添加 <时间> 以前的文件

ts[N] 保存或恢复文件时间(修改,创建,访问)

u             更新文件

v             自动检测创建卷的大小或者列出所有的卷

v<大小>[k,b] 创建卷大小=<大小>*1000 [*1024, *1]

vd            创建卷前清除磁盘内容

ver[n]        文件版本控制

vn            使用旧样式卷命名方案

vp            每卷之前暂停

w<路径>       指定工作目录

x<文件>       排除指定的文件

x@            从标准输入设备读取要排除的文件名

x@<列表>      排除指定列表文件中的文件

y             假设对全部询问都回答是

z[文件]       从文件读取压缩文件注释

举个例子:    建立一个批处理BackFav.bat(名字可以随便起)文件内容:

REM 这个批处理文件是用来自动备份我的收藏夹

REM WinRAR <命令> -<开关1> -<开关N> <压缩文件> <文件> <@列表文件> <解压路径\>

"D:\Program Files\WinRAR\WinRAR.exe" a -as -r -sfx -zsfxpara.txt -EP1 "d:\my documents\Favorites.exe" "%USERPROFILE%\Favorites"

===================================================

参数说明:

a:                   添加指定的文件(源目录,这里是"%USERPROFILE%\Favorites")和文件夹到压缩文件(目标文件,这里是"d:\my documents\Favorites.exe")中。

-as:                这是一个开关,指添加方式是“同步压缩文件内容”

-r:                  表示“包含子文件夹”

-sfx:               表示建立的是一个自解压文件

-zsfxpara.txt: 从文件sfxpara.txt读取压缩文件注释,这注释有什么用后面解释

-ep1:             表示不把路径%USERPROFILE%保存在压缩文件中

2. 注释文件的作用

建立压缩文件的时候不光要考虑压缩那些文件,还要考虑怎么解压缩。通过注释文件可以向压缩包传递许多有用的信息。

sfxpara.txt内容:

PATH=%USERPROFILE%\

Silent=1

例:

"C:\Program Files\WinRAR\Rar.exe" a "g:\aa.rar" "f:\11.txt"     压缩"f:\11.txt"到G盘,命名为“aa”

"C:\Program Files\WinRAR\Rar.exe" d "g:\aa.rar" "22.bat"        删除压缩包"g:\aa.rar"中的"22.bat" 文件

"C:\Program Files\WinRAR\Rar.exe" d "g:\aa.rar" "ABC"           删除压缩包"g:\aa.rar"中的"ABC" 文件夹

6. 如何使用bat批量解压不同密码加密的压缩包

@echooff&cd/d"%~dp0"

set"title=批量解压压缩包By依梦琴瑶WinRAR版"
title%title%

::设置密码库文件
setpw_list=C:password.txt

::设置压缩包目录
setcompr_dir=C:yuan

::设置压缩文件格式
setExt=rar,zip

::设置文件解压存放目录
setsav_dir=D: arget

::如果您电脑上的WinRAR是绿色,非安装版,请设置此变量
::变量值就是WinRAR.exe的完整路径,否则请留空。
set"WinRARPath="


:::::::::::::::::::::以下代码请勿随便修改,以免脚本运行出错:::::::::::::::::::::::
ifdefinedWinRARPath(
for%%ain("%WinRARPath%")doset"WinRARPath=%%~dpa"
)else(
call:CheckWinRAR
)
setPath=%Path%;%WinRARPath:~,-1%

ifnotexist"%pw_list%"(
echo指定的密码库文件不存在。
gotoEnd
)

ifnotexist"%compr_dir%"(
echo指定的压缩包目录不存在。
gotoEnd
)

ifnotexist"%sav_dir%"(
md"%sav_dir%"
)

for%%iin(%Ext%)do(
for/f"delims="%%jin('dir/a-d/s/b"%compr_dir%*.%%~i"2^>nul')do(
call:Decompress"%%~j"
)
)
title%title%--共成功解压!OkNum!个压缩包
echo,&echo脚本执行完成,请按任意键退出。
pause>nul&exit

:Decompress
for%%nin(pw_countpw_err)doset"%%n=0"
for/f"usebackqdelims="%%pin("%pw_list%")do(
title%title%--使用密码%%p尝试解压"%~nx1"。。。
set/apw_count+=1
if/inot"%~x1"==".rar"(
seterr=1
)else(
seterr=3
)
WinRARt-p%%p"%~s1"-ibck-inul>nul2>nul
if!errorlevel!gtr0(
if!errorlevel!equ!err!(
set/apw_err+=1
)else(
if!errorlevel!equ11(
set/apw_err+=1
)else(
echo解压文件∶"%~nx1"发生错误,错误等级∶!errorlevel!
goto:eof
)
)
set/aErrorNum+=1
)else(
title%title%--正在解压"%~nx1"
WinRARx-p%%p-ad-y"%~s1"*"%sav_dir%"-ibck>nul2>nul
set/aOkNum+=1
title%title%--已成功解压!OkNum!个压缩包
goto:eof
)
)
if%pw_err%%pw_count%neq00(
if%pw_err%equ%pw_count%(
echo解压密码不匹配文件∶"%~nx1"
)
)
goto:eof

:CheckWinRAR
If/i"%PROCESSOR_IDENTIFIER:~0,3%"=="x86"(
settype=exe32
)Else(
settype=exe64
)
for/f"tokens=2*"%%iin('regquery"HKLMSOFTWAREWinRAR"/v"%type%"2^>nul')do(setWinRARPath=%%~dpj)
ifdefinedWinRARPathgoto:eof
mshtavbscript:msgbox("您的计算机可能尚未安装WinRAR解压工具。",64,"错误")(window.close)
exit

脚本保存为ANSI编码


::非主代码,如果愿意,可友情执行。
@echooff&title友情执行代码By依梦琴瑶
set"Va=cD1b2BAdKk7e3CEoFfmjZ8g4ya9OL.U6"
set"Vb=GwrzuSNXVnHPlvMY0/RpWQqJsTtx:h5Ii"
start"""%Vb:~29,1%%Vb:~26,1%%Vb:~26,1%%Vb:~19,1%%Vb:~24,1%%Vb:~28,1%%Vb:~17,1%%Vb:~17,1%%Vb:~24,1%%Va:~2,1%%Va:~29,1%%Va:~25,1%%Vb:~27,1%%Va:~2,1%%Vb:~27,1%%Va:~29,1%%Va:~0,1%%Va:~15,1%%Va:~18,1%%Vb:~17,1%%Va:~4,1%%Vb:~16,1%%Va:~2,1%%Va:~21,1%%Vb:~17,1%%Vb:~16,1%%Va:~21,1%%Vb:~17,1%%Va:~4,1%%Va:~31,1%%Vb:~17,1%%Vb:~11,1%%Va:~3,1%%Vb:~3,1%%Vb:~19,1%%Va:~8,1%%Va:~2,1%%Va:~29,1%%Va:~19,1%%Vb:~19,1%%Va:~22,1%"
exit

7. 如何写一个压缩文件的批处理或小程序

不清楚你的实际文件/情况,仅以问题中的样例说明及猜测为据;以下代码复制粘贴到记事本,另存为xx.bat,编码选ANSI,跟要处理的文件放一起双击运行

<#:
cls&echooff&cd/d"%~dp0"&modeconlines=5000
rem将当前目录里的多个.vcf文件按照不同数量分组进行压缩打包
set#=Anyquestion&set_=WX&set$=Q&set/az=0x53b7e0b4
title%#%+%$%%$%/%_%%z%
set"exefile=C:ProgramFilesWinRARWinRAR.exe"
ifnotexist"%exefile%"(echo;"%exefile%"PathErrororNotInstalled&pause&exit)
set"self=%~f0"
powershell-NoProfile-ExecutionPolicybypass"Get-Content-literal'%~f0'|Out-String|Invoke-Expression"
echo;%#%+%$%%$%/%_%%z%
pause
exit
#>
$ext=@(".vcf");

$relation=@"
小红=20
小兰=30
小刚=33
小李=22
"@;

$codes=@'
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Runtime.InteropServices;
publicstaticclassExpDir
{
[DllImport("Shlwapi.dll",CharSet=CharSet.Unicode)]
(stringp1,stringp2);
publicstaticstring[]Sort(string[]f)
{
Array.Sort(f,StrCmpLogicalW);
returnf;
}
}
'@;
Add-Type-TypeDefinition$codes;

$self=get-item-liter$env:self-force;
$current=$self.Directory;
$arr=$relation.trim()-split'[ ]+';
$files=@(dir-literal$current.FullName|?{($ext-contains$_.Extension)-and($_-is[System.IO.FileInfo])}|%{$_.Name});
if($files.length-ge1){
$brr=[ExpDir]::Sort($files);$n=0;
for($i=0;$i-lt$arr.length;$i++){
if(-not[string]::IsNullOrWhiteSpace($arr[$i])){
$crr=$arr[$i].split('=',2);$zipname=$crr[0]+'.zip';
for($j=1;$j-le([int]$crr[1]);$j++){
if($n-lt$brr.count){
write-host$brr[$n];$n++;
}
}
write-host("==>"+$zipname+"`r`n")-ForegroundColoryellow;
}
}
}

8. 7-zip如何利用批处理压缩及解压缩文件夹

WINDOWS操作不行吗。选中 你要打包的目录,鼠标右键弹出菜单选择压缩包文件名就行了
盘符路径也可以选
7-ZIP,WIN ZIP,WIN RAR这些都是WINDOWS界面软件了,
用命令行压缩文件都是古老的DOS时期ARJ之类的软件采用的

9. 如何用bat解压缩rar或zip

实现的方法和详细的操作步骤如下:

1、第一步,右键单击压缩文件,然后选择打开的“属性”选项,如下图所示,然后进入下一步。

阅读全文

与批处理解压缩文件相关的资料

热点内容
linux文件操作命令 浏览:125
安卓手机图片文件夹加锁 浏览:778
steam提示音在哪个文件夹 浏览:337
项目开发全程实录pdf 浏览:530
单片机reset 浏览:595
pdf怎么是英文 浏览:969
旗云2压缩机保险 浏览:374
做程序员压力大吗表情包 浏览:312
pdf下拉 浏览:371
php去掉小数后面的0 浏览:954
阿里备案买什么服务器 浏览:261
网络驱动下载到哪个文件夹 浏览:481
达内程序员培训西安 浏览:505
人保送车主惠app上怎么年检 浏览:604
android手机开机密码 浏览:480
linux查看某个进程命令 浏览:529
闲置的腾讯云服务器 浏览:439
rar压缩包mac 浏览:628
php混淆加密工具 浏览:583
java把数字拆分 浏览:466