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:收费,但是肯定不高,而且还支持提供源码。
构建与发布
- 调试运行:
bash
dotnet run -c Debug
- 发布(依赖框架,单文件):
bash
dotnet publish -c Release -r win-x64 --self-contained false \
/p:PublishSingleFile=true /p:IncludeNativeLibrariesForSelfExtract=true