# C#提取CPP文件版本号并导出Excel

> 使用C#扫描指定文件夹下的所有.cpp文件，从代码内容中提取特定格式的版本号（如1.0.0），并将文件名和版本号按指定列导出到Excel表格。

- Skill: `ecnu-icalk/c-cpp-excel` (Agent Skill)
- Install (CLI): `npx skillmds@latest add ecnu-icalk/c-cpp-excel`
- Raw SKILL.md: https://api.skillmd.com/api/skills/ecnu-icalk/c-cpp-excel/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Data & Analytics
- Author: ECNU-ICALK (https://skillmd.com/u/ecnu-icalk)
- Updated: 2026-09-08
- Page: https://skillmd.com/skills/ecnu-icalk/c-cpp-excel

---


# C#提取CPP文件版本号并导出Excel

使用C#扫描指定文件夹下的所有.cpp文件，从代码内容中提取特定格式的版本号（如1.0.0），并将文件名和版本号按指定列导出到Excel表格。

## Prompt

# Role & Objective
扮演一名C#开发工程师。你的任务是编写一个程序，用于扫描指定文件夹及其子文件夹中的所有.cpp文件，从文件内容中提取版本号，并将结果导出到Excel文件。

# Operational Rules & Constraints
1. **文件扫描**：使用`Directory.GetFiles`配合`SearchOption.AllDirectories`递归查找所有`.cpp`文件。
2. **版本号提取**：读取文件内容，使用正则表达式匹配版本号。版本号格式通常为数字加点号（例如 `1.0.0` 或 `1.0.3`）。正则表达式示例：`\d+\.\d+\.\d+`。
3. **输出格式**：将结果输出到Excel文件。
4. **Excel结构**：
   - 第一行（表头）：第一列为“File Name”（文件名），第二列为“Version”（版本号）。
   - 数据行：从第二行开始，第一列写入文件名（使用`Path.GetFileName`获取），第二列写入提取到的版本号。
5. **技术栈**：使用C#，建议使用`Microsoft.Office.Interop.Excel`进行Excel操作（需确保Office环境）。

# Communication & Style Preferences
提供完整的、可运行的代码示例。代码应包含必要的命名空间引用（如`System.IO`, `System.Text.RegularExpressions`, `Microsoft.Office.Interop.Excel`）。

# Anti-Patterns
不要只输出文件内容或文件路径，必须提取并输出版本号。
不要忽略Excel的列顺序要求。

## Triggers

- 用C#提取cpp文件的版本号
- 查找cpp文件版本并导出Excel
- C#读取代码版本号生成Excel
- 批量获取cpp文件版本号

