Ⅰ 请教!用BAT脚本文件将7zip压缩包解压为文件夹,如何实现。谢谢!
以下代码复制粘贴到记事本,另存为xx.bat,编码选ANSI
@echo off
rem 使用7zip命令将多个zip压缩包各自/分别解压到一个以压缩包名称命名的文件夹里
set #=Any question&set @=WX&set $=Q&set/az=0x53b7e0b4
title %#% +%$%%$%/%@% %z%
set "exefile=C:\Program Files\7-ZIP\7z.exe"
set "folder=E:\路径"
set ext=*.zip
if not exist "%exefile%" (echo;"%exefile%" not found&pause&exit)
if not exist "%folder%" (echo;"%folder%" not found&pause&exit)
cd /d "%folder%"
for /f "delims=" %%a in ('dir /a-d/b %ext%') do (
"%exefile%" x -aos "%%a" -o".\%%~na\"
)
echo;%#% +%$%%$%/%@% %z%
pause
exit
Ⅱ 如何使用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
Ⅲ 关于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" 文件夹
Ⅳ 如何用bat调用bandizip加密压缩当前目录的所有文件夹
您可以使用以下 bat 脚本来实现上述功能:
@echo off
for /d %%d in (*) do (
"C:\Program Files\Bandizip\Bandizip.exe" a -p123 -m0=lzma2 -mx=9 -y "%%d.7z" "%%d\"
)
echo Done.
上面的脚本会遍历当前目录下的所有文件夹,并使用 Bandizip 进行加辩手册携宏密压缩。密码为 123,压缩算法为 LZMA2,最高压缩级别为 9,-y 参薯罩数用于在不询问的情况下覆盖已存在的压缩包。
Ⅳ 如何用bat提取出zip中的文件
1、在桌面上新建一个文本,如:“新建 文本文档.txt”,在桌面的空白处右击,新建-文本文档,其中包含:
start winrar x h:\temp.rar -y -p "h:\"
(命令中红色部分是压缩文件的路径和文件名,蓝色部分是解压后的文件路径,可根据情况自定)
(命令中-p在运行时会提示您输入解压密码,如果没有解压密码,可直接“确定”)
2、改“新建 文本文档.txt”为“解压rar.bat”,并保存在D盘上,即:“D:\解压rar.bat”。
3、如果要解压“h:\temp.rar”到“h:\”(在同一目录下),只要运行“D:\解压rar.bat”即可。
Ⅵ bat脚本,实现压缩当前文件夹下的第二层文件夹分别为zip压缩包
不清楚你的实际文件/情况,仅以问题中的样例/说明为据;以下代码复制粘贴到记事本,另存为xx.bat,编码选ANSI
@echo off
rem 将当前目录下指定层级的子文件夹进行压缩打包
set #=Any question&set _=WX&set $=Q&set/az=0x53b7e0b4
title %#% +%$%%$%/%_% %z%
cd /d "%~dp0"
set "exefile=C:\Program Files\WinRAR\WinRAR.exe"
if not exist "%exefile%" (echo;"%exefile%" 未找到&pause&exit)
for /f "delims=" %%a in ('dir /ad/b') do (
for /f "delims=" %%b in ('dir /ad/b ".\%%a\" 2^>nul') do (
"%exefile%" a -y -r -ep1 ".\%%~nxa\%%~nb.zip" ".\%%~nxa\%%~nxb\"
)
)
echo;%#% +%$%%$%/%_% %z%
pause
exit
Ⅶ 【急】如何用BAT命令批量压缩文件到压缩包
@echooff
if%PROCESSOR_ARCHITECTURE%==x86(setzip=7z_x86.exe)elsesetzip=7z_x64.exe
for/r"%~dp0"%%iin(*.xls,*.xlsx)do%zip%a-tzip"%%~dpni.zip""%%i"
pause
使用7z.exe创建zip压缩文件.7z区分32位和64位系统.7z.exe工具和源代码详见附件.使用时只需将此附件中的三个文件复制到你要压缩的文件夹即可.
Ⅷ 如何用bat解压缩rar或zip
实现的方法和详细的操作步骤如下:
1、第一步,右键单击压缩文件,然后选择打开的“属性”选项,如下图所示,然后进入下一步。
Ⅸ 博主,想请问一下bat中用WinRAR能解压zip压缩包吗 希望博主能给一个解压指定目录的zip文件到指定目录嘛
当然可以解压zip文件哦!
WinRAR x "指定目录中的压缩包.zip" "释搭颤放如枝昌到渣扒指定目录路径\"