【包含功能】
  ① 转换7z文件为自解压程序
  ② 提取可解压文档的内部图片
  ③ 智能解压到文件夹
  ④ 7z极限压缩 (常规压缩、LZMA、LZMA2、LZMA2 BCJ2)
  ⑤ 按分卷压缩为7z
  ⑥ 压缩为zip

【脚本设置】
Set "ImgExt=*.emf *.wmf *.jpg *.jpeg *.jfif *.jpe *.png *.bmp *.dib *.rle *.gif *.emz *.wmz *.pcz *.tif *.tiff *.eps *.pct *.pict *.wpg" :: 提取图片过滤字符串
Set "DocExt=.docx .xlsx .pptx .ofd .chm" :: 支持提取图片的文档格式(按住Shift右键菜单才会出现)
Set "SdcExt=7z rar rar5" :: 支持获取根列表的压缩格式(不需要设置)
↓↓↓ 以下参数修改后，需要重新安装右键菜单 ↓↓↓
REM 停显延迟秒数
Set "ES=5" :: 环境错误，停显秒数
Set "SS=2" :: 执行成功，停显秒数
Set "FS=9" :: 执行失败，停显秒数
REM 7z关联图标、右键菜单图标
Set "FIcon=icon\文件图标.ico,0" :: 文件图标
Set "MIcon=icon\菜单图标.ico,0" :: 菜单图标
REM 解压缩选项
Set "Exz=Exc" :: 压缩强制使用命令行 (取消则注释)
Set "Exd=Exc" :: 解压缩强制使用命令行 (取消则注释)
Set "pass=压缩密码"& :: 设置统一解压缩密码，本机解压无需密码 (不支持字符 " % ^ & | < >)
Set "mhe=on"  :: 启用加密文件名

【使用方法】
*** 不支持带 % 路径 ***

方法一、安装系统右键菜单
双击“7z极限压缩.bat”添加系统右键菜单
再次双击“7z极限压缩.bat”删除系统右键菜单

方法二、通过命令行参数调用，可集成到第三方管理器
注意事项：
  下文提到的“带双引号路径”，就算是路径没含空格也必须带上双引号
   <> 为必选参数 | [] 为可选参数
  “压缩等级”可选范围：0 1 3 5 7 9
  “字典大小”可选范围：64m 96m 128m 192m 256m 384m 512m 768m ...

① 转换7z文件为自解压程序：
7z极限压缩.bat MakeSfx "命令行窗口标题" "带双引号的7z文件绝对路径"
例子：
  7z极限压缩.bat MakeSfx "7z转换自解压程序" "C:\Test\file.7z"

② 提取可解压文档的内部图片
7z极限压缩.bat ExtrImg "带双引号的可以解压文档绝对路径"
例子：
  7z极限压缩.bat ExtrImg "C:\Test\file1.docx"

③ 智能解压到文件夹：
7z极限压缩.bat <SmartDc|StDcDel> <Judge|MkDir> "命令行窗口标题" "带双引号的解压文件绝对路径" ["带双引号的解压绝对路径"]
  SmartDc -> 智能解压到文件夹
  StDcDel -> 智能解压到文件夹成功后，删除源文件
  Judge   -> 通过获取压缩包根路径列表，判断是否需要新建文件夹解压
  MkDir   -> 预先解压到当前临时文件夹，再判断是否自动移出
  "带双引号的解压绝对路径" 非必填，若不指定则解压到压缩文件的当前路径
例子：
  7z极限压缩.bat SmartDc Judge "智能解压到文件夹" "C:\Test\file.7z"
  7z极限压缩.bat SmartDc Judge "智能解压到文件夹" "C:\Test\file.7z" "C:\Users\Administrator\Desktop"

④ 解压到文件夹：
7z极限压缩.bat <Extract|ExtrDel> "命令行窗口标题" "带双引号的解压文件绝对路径" ["Desktop"|"ArchDir"|"带双引号的解压绝对路径"]
  Extract -> 解压到文件夹
  ExtrDel -> 解压到文件夹成功后，删除源文件
  Desktop -> 表示解压到当前用户桌面
  ArchDir -> 表示解压到[压缩包名称]文件夹
例子：
  7z极限压缩.bat Extract "解压到当前文件夹" "C:\Test\file.7z"
  7z极限压缩.bat Extract "解压到用户桌面" "C:\Test\file.7z" "Desktop"
  7z极限压缩.bat Extract "解压到用户桌面" "C:\Test\file.7z" "C:\Users\Administrator\Desktop"
  7z极限压缩.bat Extract "解压到[压缩包]文件夹" "C:\Test\file.7z" "ArchDir"

⑤ 常规压缩(不含目录)：
7z极限压缩.bat UltiCom NoDir "命令行窗口标题" "压缩等级[0 1 3 5 7 9]" "带双引号的文件夹绝对路径"
例子：
  7z极限压缩.bat UltiCom NoDir "GUI设置：9-极限压缩 不含目录" "9" "C:\Test"

⑥ 常规压缩：
7z极限压缩.bat UltiCom General "命令行窗口标题" "压缩等级[0 1 3 5 7 9]" "带双引号的第一个压缩对象绝对路径" ["第二个对象(可以是相对路径也可以是绝对路径)" ...]
7z极限压缩.bat UltiCom General "命令行窗口标题" "压缩等级[0 1 3 5 7 9]" "带双引号的生成文件绝对路径.[-out]!" "第一个对象(可以是相对路径也可以是绝对路径)" ["第二个对象(可以是相对路径也可以是绝对路径)" ...]
例子：
  7z极限压缩.bat UltiCom General "GUI设置：9-极限压缩" "9" "C:\Test"
  7z极限压缩.bat UltiCom General "GUI设置：9-极限压缩" "9" "C:\Test\file1.txt" "file2.txt" "file3.txt"
  7z极限压缩.bat UltiCom General "GUI设置：9-极限压缩" "9" "C:\Test\生成文件.7z.[-out]!" "file1.txt" "file2.txt" "file3.txt"

⑦ LZMA 算法极限压缩：
7z极限压缩.bat UltiCom LZMA "命令行窗口标题" "字典大小" "带双引号的第一个压缩对象绝对路径" ["第二个对象(可以是相对路径也可以是绝对路径)" ...]
7z极限压缩.bat UltiCom LZMA "命令行窗口标题" "字典大小" "带双引号的生成文件绝对路径.[-out]!" "第一个对象(可以是相对路径也可以是绝对路径)" ["第二个对象(可以是相对路径也可以是绝对路径)" ...]
例子：
  7z极限压缩.bat UltiCom LZMA "单线程 LZMA 128M" "128m" "C:\Test"
  7z极限压缩.bat UltiCom LZMA "单线程 LZMA 128M" "128m" "C:\Test\file1.txt" "file2.txt" "file3.txt"
  7z极限压缩.bat UltiCom LZMA "单线程 LZMA 128M" "128m" "C:\Test\生成文件.7z.[-out]!" "file1.txt" "file2.txt" "file3.txt"

⑧ LZMA2 算法极限压缩：
7z极限压缩.bat UltiCom LZMA2 "命令行窗口标题" "字典大小" "带双引号的第一个压缩对象绝对路径" ["第二个对象(可以是相对路径也可以是绝对路径)" ...]
7z极限压缩.bat UltiCom LZMA2 "命令行窗口标题" "字典大小" "带双引号的生成文件绝对路径.[-out]!" "第一个对象(可以是相对路径也可以是绝对路径)" ["第二个对象(可以是相对路径也可以是绝对路径)" ...]
例子：
  7z极限压缩.bat UltiCom LZMA2 "多线程 LZMA2 128M" "128m" "C:\Test"
  7z极限压缩.bat UltiCom LZMA2 "多线程 LZMA2 128M" "128m" "C:\Test\file1.txt" "file2.txt" "file3.txt"
  7z极限压缩.bat UltiCom LZMA2 "多线程 LZMA2 128M" "128m" "C:\Test\生成文件.7z.[-out]!" "file1.txt" "file2.txt" "file3.txt"

⑨ LZMA2 BCJ2 算法极限压缩：
7z极限压缩.bat UltiCom LBCJ2 "命令行窗口标题" "字典大小" "带双引号的第一个压缩对象绝对路径" ["第二个对象(可以是相对路径也可以是绝对路径)" ...]
7z极限压缩.bat UltiCom LBCJ2 "命令行窗口标题" "字典大小" "带双引号的生成文件绝对路径.[-out]!" "第一个对象(可以是相对路径也可以是绝对路径)" ["第二个对象(可以是相对路径也可以是绝对路径)" ...]
例子：
  7z极限压缩.bat UltiCom LBCJ2 "多线程 LZMA2 128M f=BCJ2" "128m" "C:\Test"
  7z极限压缩.bat UltiCom LBCJ2 "多线程 LZMA2 128M f=BCJ2" "128m" "C:\Test\file1.txt" "file2.txt" "file3.txt"
  7z极限压缩.bat UltiCom LBCJ2 "多线程 LZMA2 128M f=BCJ2" "128m" "C:\Test\生成文件.7z.[-out]!" "file1.txt" "file2.txt" "file3.txt"

⑩ LZMA2 BCJ2 -mmc=∞ 算法极限压缩：
7z极限压缩.bat UltiCom LIMMC "命令行窗口标题" "字典大小" "带双引号的第一个压缩对象绝对路径" ["第二个对象(可以是相对路径也可以是绝对路径)" ...]
7z极限压缩.bat UltiCom LIMMC "命令行窗口标题" "字典大小" "带双引号的生成文件绝对路径.[-out]!" "第一个对象(可以是相对路径也可以是绝对路径)" ["第二个对象(可以是相对路径也可以是绝对路径)" ...]
例子：
  7z极限压缩.bat UltiCom LIMMC "多线程 LZMA2 128M f=BCJ2 -mmc=∞" "128m" "C:\Test"
  7z极限压缩.bat UltiCom LIMMC "多线程 LZMA2 128M f=BCJ2 -mmc=∞" "128m" "C:\Test\file1.txt" "file2.txt" "file3.txt"
  7z极限压缩.bat UltiCom LIMMC "多线程 LZMA2 128M f=BCJ2 -mmc=∞" "128m" "C:\Test\生成文件.7z.[-out]!" "file1.txt" "file2.txt" "file3.txt"

⑾ 按分卷压缩为7z：
7z极限压缩.bat UltiCom Split "命令行窗口标题" "压缩等级[0 1 3 5 7 9]|分卷大小" "带双引号的第一个压缩对象绝对路径" ["第二个对象(可以是相对路径也可以是绝对路径)" ...]
7z极限压缩.bat UltiCom Split "命令行窗口标题" "压缩等级[0 1 3 5 7 9]|分卷大小" "带双引号的生成文件绝对路径.[-out]!" "第一个对象(可以是相对路径也可以是绝对路径)" ["第二个对象(可以是相对路径也可以是绝对路径)" ...]
例子：
  7z极限压缩.bat UltiCom Split "按 500MB 分卷压缩为7z" "7|500m" "C:\Test"
  7z极限压缩.bat UltiCom Split "按 500MB 分卷压缩为7z" "7|500m" "C:\Test\file1.txt" "file2.txt" "file3.txt"
  7z极限压缩.bat UltiCom Split "按 500MB 分卷压缩为7z" "7|500m" "C:\Test\生成文件.7z.[-out]!" "file1.txt" "file2.txt" "file3.txt"

⑿ 压缩为zip：
7z极限压缩.bat UltiCom ZIP "命令行窗口标题" "压缩等级[0 1 3 5 7 9]|压缩算法[Deflate Deflate64]" "带双引号的第一个压缩对象绝对路径" ["第二个对象(可以是相对路径也可以是绝对路径)" ...]
7z极限压缩.bat UltiCom ZIP "命令行窗口标题" "压缩等级[0 1 3 5 7 9]|压缩算法[Deflate Deflate64]" "带双引号的生成文件绝对路径.[-out]!" "第一个对象(可以是相对路径也可以是绝对路径)" ["第二个对象(可以是相对路径也可以是绝对路径)" ...]
例子：
  7z极限压缩.bat UltiCom ZIP "最高等级压缩为zip" "9|Deflate" "C:\Test"
  7z极限压缩.bat UltiCom ZIP "最高等级压缩为zip" "9|Deflate" "C:\Test\file1.txt" "file2.txt" "file3.txt"
  7z极限压缩.bat UltiCom ZIP "最高等级压缩为zip" "9|Deflate" "C:\Test\生成文件.7z.[-out]!" "file1.txt" "file2.txt" "file3.txt"