Ⅰ 請教!用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" "釋搭顫放如枝昌到渣扒指定目錄路徑\"