'RAR 压缩包内容预览工具。递归扫描目录内 .rar 文件,列出内部文件清单并按需输出文本片段预览,供后续采集流程判断是否需要解压处理。
Scanned 9/11/2026
Install to Claude Code
npx -y skills add cas-bigdatalab/piflow --skill ingest_archive_rar_preview --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Ingest Archive Rar Preview?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/cas-bigdatalab-ingest-archive-rar-preview)More formats (shields.io, HTML) on the badges page.
---
name: ingest_archive_rar_preview
description: 'RAR 压缩包内容预览工具。递归扫描目录内 .rar 文件,列出内部文件清单并按需输出文本片段预览,供后续采集流程判断是否需要解压处理。
当用户提到 rar 预览、rar 压缩包内容查看、rar 文件清单等需求时使用此 skill。
即使用户没有明确说出"rar 预览",只要任务涉及在解压前先查看 rar 压缩包内部文件结构和内容片段,就应该使用此 skill。
不负责 zip、7z、tar 等其他压缩格式的预览(各有独立 skill),也不负责解压或归档打包。
'
name_zh: RAR 压缩包预览
input_params:
- name: input_dir
type: string
required: true
description: 待扫描目录(递归)
- name: output
type: string
required: true
description: 预览报告输出路径(JSON)
- name: max_entries
type: string
required: false
default: "20"
description: 每个压缩包最多列出的文件数
- name: preview_bytes
type: string
required: false
default: "200"
description: 文本文件预览字节数
output_params:
- name: output
type: json_file
description: RAR 压缩包预览报告
tag: 数据筛选
publisher: COMMUNITY
---
# ingest_archive_rar_preview — RAR 压缩包预览
## 功能概述
递归扫描目录内 `.rar` 文件,列出每个压缩包内部文件清单,对文本文件输出前 N 字节预览(UTF-8 解码失败则输出 hex)。输出 JSON 报告供后续解压或采集流程决策。
依赖 `rarfile` 库(需系统安装 unrar 或 UnRAR.dll)。
## 触发条件
- 采集入口收到一批 rar 文件,需要先查看内容再决定解压策略
- 需要批量盘点 rar 压缩包内的文件结构
## 核心参数
| 参数 | 说明 | 默认值 |
|------|------|--------|
| `--input_dir` | 待扫描目录(递归) | 必填 |
| `--output` | 预览报告输出路径 | 必填 |
| `--max_entries` | 每个压缩包最多列出的文件数 | 20 |
| `--preview_bytes` | 文本文件预览字节数 | 200 |
## 使用方法
```bash
python scripts/run_ingest_archive_rar_preview.py \
--input_dir <input_dir> \
--output <output> \
--max_entries 20 \
--preview_bytes 200
```
## 环境要求
需要 `rarfile` 第三方库及系统 unrar 工具。
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!