作者goldie (戈尔迪)
看板EZsoft
标题Re: [请益] 如何使用7z来批次压缩档案?
时间Wed Mar 12 10:48:41 2008
※ 引述《junorn (威廉华勒斯)》之铭言:
: set a=c:\program files\7-zip\7z.exe
: for %%a in (%*) do "%a%" a -tzip "%%~dpa%%~na.zip" %%a
^^^^^^^^^^^^^^^
真是感谢 junorn 兄这段语法!多重取出引数,我只找到 shift + if 方法
但 shift 有很多毛病~ 没这个 for in (%*) 强
於是,把你的加进去我之前玩过一阵子 7z commandline 语法的 batch 档
rem 开头是注解行
用法: 要压的档拖到 此.bat 图示上。
可单选也可复选、可以是档案也可以是资料夹,混合也OK。
(终於可复选了)
-----------------------------------------------------------------------------
@echo off
TITLE Compress to 7Z [LZMA Ultra] (by 7-Zip Commandline version)
REM 以滑鼠拖拽档案或资料夹至此 BAT 图示上,即自动进行压缩
REM 请将此 BAT 档跟 7za.exe 放在一起 http://www.7-zip.org/download.html
set prm=a -t7z -mx=9 -ms -mmt
for %%F in (%*) do (
if exist %%~sF\nul (
"%~dp07za" %prm% -r %%F.7z %%F\*
) else (
"%~dp07za" %prm% %%F.7z %%F
)
)
set prm=
exit
-----------------------------------------------------------------------------
那个 set prm= 後面接的参数有很多种 (不只LZMA、还有PPMd、Deflate…)
ps: 尽量别拉档名超级长的 或 目录很深的... 这样 Windows 不会让你输入 bat 的
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.132.82.101
※ 编辑: goldie 来自: 220.132.82.101 (03/12 10:50)