導航:首頁 > 文件處理 > 批處理解壓縮文件

批處理解壓縮文件

發布時間: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腳本cd 瀏覽:162
間架結構pdf 瀏覽:843
重慶農村商業銀行app怎麼老出問題 瀏覽:471
慧編程配置要求 瀏覽:673
數控機床編程與操作視頻 瀏覽:461
文件夾資料誤刪怎麼辦 瀏覽:87
手機app怎麼下載安裝 瀏覽:492
最新的java版本 瀏覽:993
萬卷小說緩存在哪個文件夾 瀏覽:687
st單片機怎樣燒 瀏覽:871
watch怎麼下載APP 瀏覽:821
銀行程序員面試 瀏覽:358
我的世界的伺服器為什麼不能更新 瀏覽:769
命令與征服絕命時刻比賽視頻 瀏覽:827
電腦捕獲視頻的文件夾怎麼換 瀏覽:482
windows編譯安卓軟體 瀏覽:210
加密dns列表 瀏覽:990
股市操練大全八冊pdf 瀏覽:120
c傳遞指針到python 瀏覽:163
手動添加引導的命令 瀏覽:54