最近整理資料,發(fā)現(xiàn)很多 pdf 文檔,占用了不少的存儲(chǔ)空間,考慮使用 7-zip 進(jìn)行壓縮存儲(chǔ),由于文件比較多,且分散在不同目錄下,一個(gè)個(gè)文件壓縮比較繁瑣。為了提高效率且,方便后面取用,所有打算搗鼓個(gè)批處理文件,來(lái)實(shí)現(xiàn)命令行調(diào)用 7-zip 來(lái)對(duì)目錄下的每個(gè)文檔進(jìn)行單獨(dú)打包,并將打包后的壓縮包存到指定的目錄下,詳細(xì)內(nèi)容見(jiàn)下文。
本文在 Windows10 64位 操作系統(tǒng)下,使用的命令行提示符(cmd)版本為 10.0.17134.706, 7-zip 為 64位 16.04 版本,使用下面腳本時(shí)請(qǐng)確保安裝了 7-zip ,可在此處下載最新版。
for 命令實(shí)現(xiàn)
以下展示幾種通過(guò) for 命令來(lái)遍歷打包壓縮批處理文件的示例:
@echo off
:: 切換當(dāng)前編碼方式為 UTF-8,處理命令行窗口標(biāo)題亂碼問(wèn)題
chcp 65001
title 批量壓縮當(dāng)前目錄下個(gè)文件到各自壓縮包
:: 切換回默認(rèn) GBK 編碼,處理命令行輸出亂碼問(wèn)題
chcp 936
echo ---------- START -------------
:: 實(shí)現(xiàn)一:遍歷當(dāng)前目錄下(不含子目錄)的pdf文件, 壓縮成與當(dāng)前文件同名的 7z 格式文件, 最后壓縮文件存放在當(dāng)前目錄下新建的 7z 文件夾(可自定義,特?fù)Q自己想要的文件夾名稱(chēng))下
:: for %%F in (*.pdf) do (echo "%%~nF" && "C:\Program Files\7-Zip\7z.exe" a -t7z ".\7z\%%~nF.7z" "%%F" )
:: 實(shí)現(xiàn)二:遍歷當(dāng)前目錄下(不含子目錄)的文件夾進(jìn)行壓縮, 壓縮成與當(dāng)前文件夾同名的 7z 格式文件 , 最后壓縮文件存放在目錄下新建的 7z 文件夾(可自定義,特?fù)Q自己想要的文件夾名稱(chēng))下(如想以目錄形式打包,可以參考此方式)
:: for /d %%F in (*) do (echo "%%~nF" && "C:\Program Files\7-Zip\7z.exe" a -t7z ".\7z\%%~nF.7z" "%%F" )
:: 實(shí)現(xiàn)三:遍歷當(dāng)前目錄下(含子目錄)的pdf文件進(jìn)行壓縮, 壓縮成與當(dāng)前文件同名的 7z 格式文件 , 最后壓縮文件存放在目錄下新建的 7z 文件夾(可自定義,特?fù)Q自己想要的文件夾名稱(chēng))下
:: for /r %%F in (*.pdf) do (echo "%%~nF" && "C:\Program Files\7-Zip\7z.exe" a -t7z ".\7z\%%~nF.7z" "%%F" )
:: 實(shí)現(xiàn)四:遍歷當(dāng)前目錄下(含子目錄)的pdf文件進(jìn)行壓縮, 壓縮成與當(dāng)前文件同名的 7z 格式文件 , 最后壓縮文件存放在與當(dāng)前文件同目錄下
:: for /r %%F in (*.pdf) do (echo "%%~nF" && "C:\Program Files\7-Zip\7z.exe" a -t7z "%%~dpnF.7z" "%%F" )
:: 實(shí)現(xiàn)五:遍歷當(dāng)前目錄下(含子目錄)的pdf文件進(jìn)行壓縮, 打包到 PDF.7z 壓縮包內(nèi) , 最后壓縮文件存放在當(dāng)前目錄下
::for /r %%F in (*.pdf) do (echo "%%~nF" && 7z a -t7z "PDF.7z" "%%F" )
echo ---------- END -------------
pause
以上展示了幾種處理方式,更多方式自行擴(kuò)展,如:
- 上述示例均已
.pdf類(lèi)型為例,如果想壓縮其他類(lèi)型文件,可以更換*.pdf為對(duì)應(yīng)的*.類(lèi)型(如,*.doc),其他通配符自行嘗試; - 如想將文件壓縮為
zip格式,則替換命令中的-t7z ".\7z\%%~nF.7z"替換成-tzip ".\7z\%%~nF.zip"; - 如想改變壓縮算法或比例等,參考下文 7z 的相關(guān)命令,進(jìn)行嘗試;
使用方法
- 復(fù)制以上代碼內(nèi)容到新建的文本文檔內(nèi);(可以在此處下載腳本文件)
- 確定要使用哪種實(shí)現(xiàn)來(lái)批量打包自己的文件,則刪除對(duì)應(yīng)實(shí)現(xiàn)下
for命令前的雙英文冒號(hào)(::,此符號(hào)等效于rem命令,是批處理文件的注釋標(biāo)識(shí)符,雙英文冒號(hào)后面的內(nèi)容是注釋說(shuō)明,不會(huì)被當(dāng)做代碼執(zhí)行 ),并保存; - 修改該新建文本文檔的擴(kuò)展名
.txt改為.bat,文件名自行定義; - 將文件拷到要使用的目錄下,雙擊運(yùn)行(切記不要管理員模式運(yùn)行)。
使用上述代碼需要特別注意:
- 當(dāng)前 for 命令實(shí)現(xiàn)版本,不要使用管理員方式運(yùn)行!不要使用管理員方式運(yùn)行!不要使用管理員方式運(yùn)行!重要的事情說(shuō)三遍!管理員方式運(yùn)行,會(huì)在
System32目錄下生效(因管理員模式運(yùn)行時(shí),會(huì)調(diào)用 System32 目錄下的 cmd 命令提示符來(lái)執(zhí)行腳本) ,切記!- 代碼中的
C:\Program Files\7-Zip\7z.exe是本人電腦上安裝的路徑,注意安裝了 7-zip ,并修改為自己電腦上的路徑,否則無(wú)法使用,如果將7z安裝路徑配置到環(huán)境變量path中,則可以將此處的路徑替換為7z.exe(或7z)
批處理 for 命令說(shuō)明
for 命令可以對(duì)一組文件中的每個(gè)文件進(jìn)行指定的操作,命令語(yǔ)法如下:
FOR %variable IN (set) DO command [command-parameters]
cmd 命令行下使用命令 for /? 可以看到 for 相關(guān)的解釋說(shuō)明:
對(duì)一組文件中的每一個(gè)文件執(zhí)行某個(gè)特定命令。
FOR %variable IN (set) DO command [command-parameters]
%variable 指定一個(gè)單一字母可替換的參數(shù)。
(set) 指定一個(gè)或一組文件。可以使用通配符。
command 指定對(duì)每個(gè)文件執(zhí)行的命令。
command-parameters
為特定命令指定參數(shù)或命令行開(kāi)關(guān)。
在批處理程序中使用 FOR 命令時(shí),指定變量請(qǐng)使用 %%variable 而不要用 %variable。變量名稱(chēng)是區(qū)分大小寫(xiě)的,所以 %i 不同于 %I.
如果啟用命令擴(kuò)展,則會(huì)支持下列 FOR 命令的其他格式:
FOR /D %variable IN (set) DO command [command-parameters]
如果集中包含通配符,則指定與目錄名匹配,而不與文件名匹配。
FOR /R [[drive:]path] %variable IN (set) DO command [command-parameters]
檢查以 [drive:]path 為根的目錄樹(shù),指向每個(gè)目錄中的 FOR 語(yǔ)句。
如果在 /R 后沒(méi)有指定目錄規(guī)范,則使用當(dāng)前目錄。如果集僅為一個(gè)單點(diǎn)(.)字符,
則枚舉該目錄樹(shù)。
FOR /L %variable IN (start,step,end) DO command [command-parameters]
該集表示以增量形式從開(kāi)始到結(jié)束的一個(gè)數(shù)字序列。因此,(1,1,5)將產(chǎn)生序列 1 2 3 4 5,(5,-1,1)將產(chǎn)生序列(5 4 3 2 1)
FOR /F ["options"] %variable IN (file-set) DO command [command-parameters]
FOR /F ["options"] %variable IN ("string") DO command [command-parameters]
FOR /F ["options"] %variable IN ('command') DO command [command-parameters]
或者,如果有 usebackq 選項(xiàng):
FOR /F ["options"] %variable IN (file-set) DO command [command-parameters]
FOR /F ["options"] %variable IN ("string") DO command [command-parameters]
FOR /F ["options"] %variable IN ('command') DO command [command-parameters]
fileset 為一個(gè)或多個(gè)文件名。繼續(xù)到 fileset 中的下一個(gè)文件之前,
每份文件都被打開(kāi)、讀取并經(jīng)過(guò)處理。處理包括讀取文件,將其分成一行行的文字,
然后將每行解析成零或更多的符號(hào)。然后用已找到的符號(hào)字符串變量值調(diào)用 For 循環(huán)。
以默認(rèn)方式,/F 通過(guò)每個(gè)文件的每一行中分開(kāi)的第一個(gè)空白符號(hào)。跳過(guò)空白行。
你可通過(guò)指定可選 "options" 參數(shù)替代默認(rèn)解析操作。這個(gè)帶引號(hào)的字符串包括一個(gè)
或多個(gè)指定不同解析選項(xiàng)的關(guān)鍵字。這些關(guān)鍵字為:
eol=c - 指一個(gè)行注釋字符的結(jié)尾(就一個(gè))
skip=n - 指在文件開(kāi)始時(shí)忽略的行數(shù)。
delims=xxx - 指分隔符集。這個(gè)替換了空格和制表符的
默認(rèn)分隔符集。
tokens=x,y,m-n - 指每行的哪一個(gè)符號(hào)被傳遞到每個(gè)迭代
的 for 本身。這會(huì)導(dǎo)致額外變量名稱(chēng)的分配。m-n
格式為一個(gè)范圍。通過(guò) nth 符號(hào)指定 mth。如果
符號(hào)字符串中的最后一個(gè)字符星號(hào),
那么額外的變量將在最后一個(gè)符號(hào)解析之后
分配并接受行的保留文本。
usebackq - 指定新語(yǔ)法已在下類(lèi)情況中使用:
在作為命令執(zhí)行一個(gè)后引號(hào)的字符串并且一個(gè)單
引號(hào)字符為文字字符串命令并允許在 file-set
中使用雙引號(hào)擴(kuò)起文件名稱(chēng)。
某些范例可能有助:
FOR /F "eol=; tokens=2,3* delims=, " %i in (myfile.txt) do @echo %i %j %k
會(huì)分析 myfile.txt 中的每一行,忽略以分號(hào)打頭的那些行,將
每行中的第二個(gè)和第三個(gè)符號(hào)傳遞給 for 函數(shù)體,用逗號(hào)和/或
空格分隔符號(hào)。請(qǐng)注意,此 for 函數(shù)體的語(yǔ)句引用 %i 來(lái)
獲得第二個(gè)符號(hào),引用 %j 來(lái)獲得第三個(gè)符號(hào),引用 %k
來(lái)獲得第三個(gè)符號(hào)后的所有剩余符號(hào)。對(duì)于帶有空格的文件
名,你需要用雙引號(hào)將文件名括起來(lái)。為了用這種方式來(lái)使
用雙引號(hào),還需要使用 usebackq 選項(xiàng),否則,雙引號(hào)會(huì)
被理解成是用作定義某個(gè)要分析的字符串的。
%i 在 for 語(yǔ)句中顯式聲明,%j 和 %k 是通過(guò)
tokens= 選項(xiàng)隱式聲明的??梢酝ㄟ^(guò) tokens= 一行
指定最多 26 個(gè)符號(hào),只要不試圖聲明一個(gè)高于字母 "z" 或
"Z" 的變量。請(qǐng)記住,F(xiàn)OR 變量是單一字母、分大小寫(xiě)和全局的變量;
而且,不能同時(shí)使用超過(guò) 52 個(gè)。
還可以在相鄰字符串上使用 FOR /F 分析邏輯,方法是,
用單引號(hào)將括號(hào)之間的 file-set 括起來(lái)。這樣,該字符
串會(huì)被當(dāng)作一個(gè)文件中的一個(gè)單一輸入行進(jìn)行解析。
最后,可以用 FOR /F 命令來(lái)分析命令的輸出。方法是,將
括號(hào)之間的 file-set 變成一個(gè)反括字符串。該字符串會(huì)
被當(dāng)作命令行,傳遞到一個(gè)子 CMD.EXE,其輸出會(huì)被捕獲到
內(nèi)存中,并被當(dāng)作文件分析。如以下例子所示:
FOR /F "usebackq delims==" %i IN (`set`) DO @echo %i
會(huì)枚舉當(dāng)前環(huán)境中的環(huán)境變量名稱(chēng)。
另外,F(xiàn)OR 變量參照的替換已被增強(qiáng)。你現(xiàn)在可以使用下列
選項(xiàng)語(yǔ)法:
%~I - 刪除任何引號(hào)("),擴(kuò)展 %I
%~fI - 將 %I 擴(kuò)展到一個(gè)完全合格的路徑名
%~dI - 僅將 %I 擴(kuò)展到一個(gè)驅(qū)動(dòng)器號(hào)
%~pI - 僅將 %I 擴(kuò)展到一個(gè)路徑
%~nI - 僅將 %I 擴(kuò)展到一個(gè)文件名
%~xI - 僅將 %I 擴(kuò)展到一個(gè)文件擴(kuò)展名
%~sI - 擴(kuò)展的路徑只含有短名
%~aI - 將 %I 擴(kuò)展到文件的文件屬性
%~tI - 將 %I 擴(kuò)展到文件的日期/時(shí)間
%~zI - 將 %I 擴(kuò)展到文件的大小
%~$PATH:I - 查找列在路徑環(huán)境變量的目錄,并將 %I 擴(kuò)展
到找到的第一個(gè)完全合格的名稱(chēng)。如果環(huán)境變量名
未被定義,或者沒(méi)有找到文件,此組合鍵會(huì)擴(kuò)展到
空字符串
可以組合修飾符來(lái)得到多重結(jié)果:
%~dpI - 僅將 %I 擴(kuò)展到一個(gè)驅(qū)動(dòng)器號(hào)和路徑
%~nxI - 僅將 %I 擴(kuò)展到一個(gè)文件名和擴(kuò)展名
%~fsI - 僅將 %I 擴(kuò)展到一個(gè)帶有短名的完整路徑名
%~dp$PATH:I - 搜索列在路徑環(huán)境變量的目錄,并將 %I 擴(kuò)展
到找到的第一個(gè)驅(qū)動(dòng)器號(hào)和路徑。
%~ftzaI - 將 %I 擴(kuò)展到類(lèi)似輸出線路的 DIR
在以上例子中,%I 和 PATH 可用其他有效數(shù)值代替。%~ 語(yǔ)法
用一個(gè)有效的 FOR 變量名終止。選取類(lèi)似 %I 的大寫(xiě)變量名比較易讀,而且避免與不分大小寫(xiě)的組合鍵混淆。
微軟文檔說(shuō)明中語(yǔ)法如下
for {%%|%}<Variable> in (<Set>) do <Command> [<CommandLineOptions>]
| 參數(shù) | 描述 |
|---|---|
| {%%|%}<Variable> | 必需。 表示可替換參數(shù)。在命令提示符執(zhí)行 for 命令時(shí)使用一個(gè)百分號(hào) ( % ), 在命令批處理文件中執(zhí)行 for 命令時(shí)使用雙百分號(hào) ( %% ) 。變量區(qū)分大小寫(xiě),且必須使用字母表示,如 %A, %B,或 %C。 |
| (<Set>) | 必需。 指定一個(gè)或多個(gè)文件,目錄或文本字符串,或運(yùn)行該命令的一系列值。 兩邊需要圓括號(hào)。 |
| <Command> | 必需。 指定要在每個(gè)文件、 目錄或文本字符串或上中包含的值的范圍縮小執(zhí)行的命令設(shè)置。 |
| <CommandLineOptions> | 指定你想要指定命令中使用任何命令行選項(xiàng)。 |
| /? | 在命令提示符下顯示幫助。 |
更多介紹及示例參看此處。
forfiles 命令實(shí)現(xiàn)
以下展示幾種通過(guò) forfiles 命令來(lái)遍歷打包壓縮批處理文件的示例:
@echo off
:: 切換當(dāng)前編碼方式為 UTF-8,處理命令行窗口標(biāo)題亂碼問(wèn)題
chcp 65001
title 批量壓縮當(dāng)前目錄下個(gè)文件到各自壓縮包
:: 切換回默認(rèn) GBK 編碼,處理命令行輸出亂碼問(wèn)題
chcp 936
echo ---------- START -------------
::實(shí)現(xiàn)一:遍歷當(dāng)前目錄下(含子目錄)的pdf文件進(jìn)行壓縮, 壓縮成與當(dāng)前文件同名的 7z 格式文件 , 最后壓縮文件存放在 7z 目錄下
:: Forfiles /P .\ /s /m *.pdf /c "cmd /c echo @FNAME && 7z a -t7z .\7z\@FNAME.7z @PATH"
::實(shí)現(xiàn)二:遍歷當(dāng)前目錄下(含子目錄)的pdf文件進(jìn)行壓縮, 壓縮成與當(dāng)前文件同名的 7z 格式文件 , 最后壓縮文件存放在與當(dāng)前文件同目錄下
:: Forfiles /P .\ /s /m *.pdf /c "cmd /c echo @FNAME && 7z a -t7z ./@FNAME.7z @PATH"
::實(shí)現(xiàn)三:遍歷當(dāng)前目錄下(不含子目錄)的pdf文件進(jìn)行壓縮, 壓縮成與當(dāng)前文件同名的 7z 格式文件 , 最后壓縮文件存放在 7z 目錄下
::Forfiles /P .\ /m *.pdf /c "cmd /c echo @FNAME && 7z a -t7z .\7z\@FNAME.7z @RELPATH"
::實(shí)現(xiàn)四:遍歷當(dāng)前目錄下(含子目錄)的pdf文件進(jìn)行壓縮, 打包到 PDF.7z 壓縮包內(nèi) , 最后壓縮文件存放在當(dāng)前目錄下
:: Forfiles /P .\ /s /m *.pdf /c "cmd /c echo @FNAME && 7z a -t7z .\PDF.7z @PATH"
echo ---------- END -------------
pause
以上展示了幾種 forflies 命令的處理方法,更多擴(kuò)展使用,自行嘗試,使用方法類(lèi)似之前 for 命令實(shí)現(xiàn)的使用方法。可以在此處下載腳本文件。
使用上述代碼需要特別注意:
forfiles命令,需要自己給定要處理的目錄路徑(如,代碼中的D:\work是我存放 pdf 等文件的目錄,替換成自己的目錄即可)給定目錄后,可以在任意位置執(zhí)行該腳本,且可以管理員方式運(yùn)行。
將 7-zip 安裝路徑配置到環(huán)境變量
path中,以方便在forfiles中cmd命令字符串中使用
批處理 forfiles 命令說(shuō)明
forfiles 命令可以對(duì)一組文件中的每個(gè)文件進(jìn)行指定的操作,命令語(yǔ)法如下:
FORFILES [/P pathname] [/M searchmask] [/S]
[/C command] [/D [+ | -] {yyyy/MM/dd | dd}]
cmd 命令行下使用命令 forfiles /? 可以看到 forfiles 相關(guān)的解釋說(shuō)明:
FORFILES [/P pathname] [/M searchmask] [/S]
[/C command] [/D [+ | -] {yyyy/MM/dd | dd}]
描述:
選擇一個(gè)文件(或一組文件)并在那個(gè)文件上
執(zhí)行一個(gè)命令。這有助于批處理作業(yè)。
參數(shù)列表:
/P pathname 表示開(kāi)始搜索的路徑。默認(rèn)文件夾是當(dāng)前工作的
目錄 (.)。
/M searchmask 根據(jù)搜索掩碼搜索文件。默認(rèn)搜索掩碼是 '*'。
/S 指導(dǎo) forfiles 遞歸到子目錄。像 "DIR /S"。
/C command 表示為每個(gè)文件執(zhí)行的命令。命令字符串應(yīng)該
用雙引號(hào)括起來(lái)。
默認(rèn)命令是 "cmd /c echo @file"。下列變量
可以用在命令字符串中:
@file - 返回文件名。
@fname - 返回不帶擴(kuò)展名的文件名。
@ext - 只返回文件的擴(kuò)展名。
@path - 返回文件的完整路徑。
@relpath - 返回文件的相對(duì)路徑。
@isdir - 如果文件類(lèi)型是目錄,返回 "TRUE";
如果是文件,返回 "FALSE"。
@fsize - 以字節(jié)為單位返回文件大小。
@fdate - 返回文件上一次修改的日期。
@ftime - 返回文件上一次修改的時(shí)間。
要在命令行包括特殊字符,字符請(qǐng)以 0xHH
形式使用十六進(jìn)制代碼(例如,0x09 為 tab)。
內(nèi)部 CMD.exe 命令前面應(yīng)以 "cmd /c" 開(kāi)始。
/D date 選擇文件,其上一次修改日期大于或等于 (+),
或者小于或等于 (-) 用 "yyyy/MM/dd" 格式指定的日期;
或選擇文件,其上一次修改日期大于或等于 (+)
當(dāng)前日期加 "dd" 天,或者小于或等于 (-) 當(dāng)前
日期減 "dd" 天。有效的 "dd" 天數(shù)可以是
0 - 32768 范圍內(nèi)的任何數(shù)字。如果沒(méi)有指定,
"+" 被當(dāng)作默認(rèn)符號(hào)。
/? 顯示此幫助消息。
示例:
FORFILES /?
FORFILES
FORFILES /P C:\WINDOWS /S /M DNS*.*
FORFILES /S /M *.txt /C "cmd /c type @file | more"
FORFILES /P C:\ /S /M *.bat
FORFILES /D -30 /M *.exe
/C "cmd /c echo @path 0x09 在 30 前就被更改。"
FORFILES /D 2001/01/01
/C "cmd /c echo @fname 在 2001年1月1日就是新的。"
FORFILES /D +2019/6/14 /C "cmd /c echo @fname 今天是新的。"
FORFILES /M *.exe /D +1
FORFILES /S /M *.doc /C "cmd /c echo @fsize"
FORFILES /M *.txt /C "cmd /c if @isdir==FALSE notepad.exe @file"
微軟文檔說(shuō)明中語(yǔ)法如下
forfiles [/p <Path>] [/m <SearchMask>] [/s] [/c "<Command>"] [/d [{+|-}][{<Date>|<Days>}]]
| 參數(shù) | 描述 |
|---|---|
| /p <Path> | 指定開(kāi)始搜索的路徑。默認(rèn)情況下,搜索從當(dāng)前工作目錄開(kāi)始。 |
| /m <SearchMask> | 根據(jù)指定的搜索掩碼搜索文件。默認(rèn)搜索掩碼是 *.\ *。 |
| /s | 指示forfiles命令以遞歸方式搜索子目錄。 |
| 在每個(gè)文件上運(yùn)行指定的命令。命令字符串包含在雙引號(hào)中。默認(rèn)命令是“cmd / c echo @file”。 | |
| /d [{+|-}]?[{<Date>|<Days>}] | 選擇具有指定的時(shí)間范圍內(nèi)的上次修改日期的文件。 - 選擇文件的上次修改日期晚于或等于 ( + ) 或早于或等于 ( - ) 指定的日期,其中日期采用格式 MM/DD/YYYY。 - 選擇文件的上次修改日期晚于或等于 ( + ) 的當(dāng)前日期加上指定,天內(nèi)或早于或等于 ( - ) 的當(dāng)前日期減去天數(shù)指定。 有效值天范圍 0-32,768 中包含任意數(shù)量。 如果指定沒(méi)有登錄,則 + 默認(rèn)情況下使用。 |
| /? | 在命令提示符下顯示幫助。 |
更多介紹及示例參看此處
關(guān)于 7-zip
7-Zip 是一款擁有極高壓縮比的開(kāi)源壓縮軟件。支持 Windows、Linux等平臺(tái)。通常使用 7-Zip 的 .7z 格式能比使用 .zip 格式的壓縮檔案小 30-70%。并且使用 7-Zip 創(chuàng)建的 .zip 格式比大多數(shù)其它壓縮軟件創(chuàng)建的都小 2-10%。關(guān)于 7-zip 等更多內(nèi)容,可以參看官網(wǎng)說(shuō)明。
7-zip 安裝完成后,在安裝目錄下,可以找到當(dāng)前版本 7-zip.chm 幫助文檔,中文幫助文檔可以在此處下載 ,文檔下載后,打開(kāi)無(wú)內(nèi)容,可以嘗試在文檔屬性中勾選 解除鎖定 ,點(diǎn)擊應(yīng)用即可。

7-zip 命令行的語(yǔ)法格式大致如下:
7z <command> [<switch>...] <base_archive_name> [<arguments>...]
7z <命令行> [<選項(xiàng)>...] <基本檔案名稱(chēng)> [<參數(shù)變量>...]
關(guān)于 7-zip 命令行版本的更多內(nèi)容,在文檔中有較為詳細(xì)的介紹,并附有示例,可以自行學(xué)習(xí)嘗試。

DEL 命令刪除文件
最后,附上遞歸刪除指定類(lèi)型文件批處理代碼(可以用來(lái)批量刪除打包的源文件)
特別注意:此刪除為完全刪除,回收站不可見(jiàn),且無(wú)法撤銷(xiāo)還原,請(qǐng)慎用!?。?/p>
:: 刪除目錄下(含子目錄下)符合條件的文件
@echo off
:: 不推薦使用此方法,管理員模式運(yùn)行時(shí)可能會(huì)誤刪 System32 目錄下文件,請(qǐng)慎用?。?!
::for /r %%F in (*.7z) do (DEL /p "%%F" )
:: 推薦使用此方法,支持管理員方式運(yùn)行(因提供了絕對(duì)路徑)
forfiles /P "D:\work" /s /m *.7z /c "cmd /c DEL /p @PATH"
pause
cmd 命令行下使用命令 DEL /? 可以看到 DEL 相關(guān)的解釋說(shuō)明:
刪除一個(gè)或數(shù)個(gè)文件。
DEL [/P] [/F] [/S] [/Q] [/A[[:]attributes]] names
ERASE [/P] [/F] [/S] [/Q] [/A[[:]attributes]] names
names 指定一個(gè)或多個(gè)文件或者目錄列表。
通配符可用來(lái)刪除多個(gè)文件。
如果指定了一個(gè)目錄,該目錄中的所
有文件都會(huì)被刪除。
/P 刪除每一個(gè)文件之前提示確認(rèn)。
/F 強(qiáng)制刪除只讀文件。
/S 刪除所有子目錄中的指定的文件。
/Q 安靜模式。刪除全局通配符時(shí),不要求確認(rèn)
/A 根據(jù)屬性選擇要?jiǎng)h除的文件
屬性 R 只讀文件 S 系統(tǒng)文件
H 隱藏文件 A 存檔文件
I 無(wú)內(nèi)容索引文件 L 重分析點(diǎn)
- 表示“否”的前綴
如果命令擴(kuò)展被啟用,DEL 和 ERASE 更改如下:
/S 開(kāi)關(guān)的顯示句法會(huì)顛倒,即只顯示已經(jīng)
刪除的文件,而不顯示找不到的文件。
建議: 使用刪除時(shí),DEL 命令后使用 /p 命令參數(shù),來(lái)手動(dòng)確認(rèn)刪除文件,防止誤刪!