LZ4 解压工具(WPF / .NET 8)
偶尔会碰到lz4的文件,网上能找到解压工具,但是当时只找到了一个命令行,可以实现简单的压缩与解压,总是有些不太方便,于是我编写了这款带界面的,既可以不依赖lz4.exe,也可以在特定情况下调用lz4.exe保证解压成功,本软件是一款专注于 LZ4 解压的桌面工具,支持内置解码器实时进度显示,并在需要时自动回退到外部 lz4.exe
,兼顾易用性与兼容性。
主要特性
- 内置解码器(K4os LZ4 Streams)+ 实时进度显示(含百分比)
- 内置失败自动回退外部
lz4.exe
(可配置,按需提示选择,不强制) - 拖拽到窗口、拖拽到 EXE、或“打开方式”打开
.lz4
文件均可自动加入并立即开始解压 - 统一输出目录(可选)与强制覆盖(可选)
- 目录递归处理(可选)
- 成功后删除源文件到回收站(可选)
- 启动窗口居中(配置项)
- 运行日志与每项状态展示
使用场景
- 批量解压
.lz4
文件,并追踪实时进度 - 混合来源文件(含非
.lz4
),自动跳过非 LZ4 - 某些新版/特殊 LZ4 内容:先尝试内置解码,不行则回退到外部工具
安装与运行
- 依赖框架版本(单文件):需安装 .NET 8 Desktop Runtime (x64)
- 可执行文件在
bin/Release/net8.0-windows/win-x64/publish/Lz4DecompressorWpf.exe
- 可执行文件在
- 自包含版本(可选):可在无 .NET 运行库环境运行(如需可联系生成)
启动方式:
- 双击运行后,拖拽文件/文件夹到窗口,点击“开始解压”
- 直接将文件/文件夹拖拽到
Lz4DecompressorWpf.exe
上,软件会自动加入并立即开始 - 将本软件设置为
.lz4
的“打开方式”,双击.lz4
将自动解压
初次启动与 lz4.exe
- 软件会尝试自动发现同目录
lz4.exe
,若无也可正常启动 - 仅当需要回退到外部解压时,才会提示选择
lz4.exe
- 选择后路径会保存到配置文件
{AppName}.json
选项说明(界面)
- 使用统一输出目录:将所有结果放到同一目录,保持相对目录结构(若从目录解压)
- 强制覆盖 (-f):解压时覆盖已存在的目标文件
- 递归子目录:对加入的目录执行递归扫描
- 成功后删除源文件(回收站):仅在解压成功后删除
配置文件
- 路径:与可执行文件同目录,文件名
{AppName}.json
- 主要字段:
lz4Path
:外部lz4.exe
路径useUnifiedOutputDir
:是否启用统一输出目录unifiedOutputDir
:统一输出目录路径overwrite
:是否强制覆盖recurse
:是否递归目录deleteSourceAfterSuccess
:解压成功后删除源文件(回收站)centerOnStartup
:启动窗口是否居中(默认true
)useInternalDecoder
:使用内置解码器(默认true
)。若false
则始终使用外部lz4.exe
文件命名规则
- 若源文件名以
.lz4
结尾,输出名为去除.lz4
后的文件名 - 否则输出名为
原名 + ".out"
(如file
→file.out
)
常见问题(FAQ)
- Q:没有
lz4.exe
可以运行吗?- A:可以。内置解码器默认启用;仅在需要回退时才会提示选择
lz4.exe
。
- A:可以。内置解码器默认启用;仅在需要回退时才会提示选择
- Q:为什么某些文件会提示回退到外部解压?
- A:为保证兼容性,遇到不受支持或错误情况会自动回退到外部工具。
- Q:删除到回收站失败怎么办?
- A:源文件会保留,并在“消息”列提示失败原因。
- Q:软件是否收费?
- A:收费,但是肯定不高,而且还支持提供源码。
构建与发布
- 调试运行:
dotnet run -c Debug
- 发布(依赖框架,单文件):
dotnet publish -c Release -r win-x64 --self-contained false \
/p:PublishSingleFile=true /p:IncludeNativeLibrariesForSelfExtract=true