7z介面程式居然沒有批次功能,只支持打指令來批次……
(什麼東西,筆者都還給老師了….)
網上找到了一個批次指令
引用網上尋找得來的資料-
https://blog.xuite.net/eric10104/blog/30933691#
https://young21975.pixnet.net/blog/post/41368501
https://blog.csdn.net/listener51/article/details/79051265
https://blog.csdn.net/shenyunsese/article/details/17024631
網上找來的指令
批次壓縮成ZIP格式:
@echo off
set a=C:\Program Files\7-Zip\7zG.exe
for %%a in (%*) do (dir /a %%a|findstr "DIR" >nul 2>nul && ("%a%" a -tzip "%%~dpa%%~na.zip" "%%~a\*") || ("%a%" a -tzip "%%~dpa%%~na.zip" %%a))
這個批次指令沒問題,正常的,但是輸出的壓縮檔會存放在想要壓縮的文件同目錄中,
如果你想批次壓縮光碟中文件,手指中文件就有問題了。
改一改吧.
@echo off
set a=C:\Program Files\7-Zip\7zG.exe
for %%a in (%*) do (dir /a %%a|findstr "DIR" >nul 2>nul && ("%a%" a -tzip "壓縮後存放位置” ”%%~na.zip" "%%~a\*" -m壓縮等級) || ("%a%" a -tzip "壓縮後存放位置” ”%%~na.zip" %%a -m壓縮等級))
1.路徑或文件名稱有中文,BAT文件格成要改為「ANSI」(筆者是用記事本)
2.壓縮檔案存放路徑如果想和BAT同一位置,使用%~dp0,如果需要指定路徑,直接寫上全路徑,如「”C:\aaaa\outzip\”」。
3.-m[數值],是壓縮等級,默認不更改可以不加入。
==>筆者修改版<==
@echo off
set a=C:\Program Files\7-Zip\7zG.exe
for %%a in (%*) do (dir /a %%a|findstr "DIR" >nul 2>nul && ("%a%" a -tzip "%~dp0""%%~na.zip" "%%~a\*" -mx7) || ("%a%" a -tzip "%~dp0""%%~na.zip" %%a -mx7))
指令可以不用全都看懂,可直接食用,不過學習一下,可以知道這些指令會不會隱藏了其他惡毒指令…..
-
完
-
沒有留言:
發佈留言