# SwVersionScanner **Repository Path**: xian154563/sw-version-scanner ## Basic Information - **Project Name**: SwVersionScanner - **Description**: SolidWorks版本扫描与批量降级工具 - 基于Everything极速扫描SW文件版本,一键将SW2026文件批量降级保存为2025格式,支持GUI图形界面和CLI命令行 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-08-19 - **Last Updated**: 2026-08-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # SolidWorks 版本扫描器 (SwVersionScanner) > 极速扫描 SolidWorks 文件版本,一键批量将 SW2026 文件降级保存为 SW2025 格式 ## 📖 项目背景 升级到 SolidWorks 2026 后发现存在大量 2025 版本没有的 Bug,严重影响工作效率。但很多文件已经保存为 2026 格式,低版本无法打开。本工具帮助你: 1. **快速找出** 电脑上所有 SW2026 版本的文件(零件/装配体/工程图) 2. **批量自动降级** 将 2026 文件保存为 2025 格式,无需手动一个个打开另存 ## ✨ 功能特性 | 功能 | 说明 | |------|------| | 🔍 **极速搜索** | 基于 [Everything](https://www.voidtools.com/) 搜索引擎,毫秒级定位全盘SW文件 | | 📂 **全盘扫描** | 支持全盘扫描或指定目录/盘符,自动排除回收站、系统目录 | | 🎯 **精准识别** | 通过OLE结构化存储+Windows Shell属性读取文件内部版本号,100%准确 | | 🏷️ **类型筛选** | 可按文件类型筛选:零件(.sldprt)、装配体(.sldasm)、工程图(.slddrw) | | ⬇️ **批量降级** | 通过COM自动化连接SolidWorks,静默打开→另存为旧版本→关闭,全程无需手动操作 | | 🖥️ **双模式界面** | WPF图形界面 + 命令行工具(swscan.exe),按需选择 | | 📊 **CSV导出** | 扫描结果可导出为CSV,方便统计分析 | | 🔄 **快速刷新** | 降级完成后一键刷新,移除已处理文件,无需重新扫描 | | 🌏 **中文支持** | 完美支持中文路径、中文文件名 | ## 🖼️ 界面预览 WPF 图形界面操作简单直观,选择路径 → 扫描 → 一键降级: - 紫色「🌐 全盘扫描」按钮:基于Everything索引,秒级出结果 - 绿色「⬇ 批量降级到2025」按钮:全自动降级,SW在后台静默运行 - 红色高亮:标记需要降级的 SW2026+ 文件 - 类型复选框:扫描前勾选可加速,扫描后勾选实时过滤 ## 🚀 快速开始 ### 环境要求 - **操作系统**:Windows 10/11(64位) - **.NET**:[.NET 8 Desktop Runtime](https://dotnet.microsoft.com/download/dotnet/8.0) - **Everything**:需要安装 [voidtools Everything](https://www.voidtools.com/) 并保持运行(用于极速文件搜索) - **SolidWorks**:降级功能需要本机安装 SolidWorks 2026(用于打开并另存为2025格式) ### 下载使用 1. 从 [Releases](../../releases) 页面下载最新版本 2. 解压后运行 `SwVersionScanner.exe`(GUI版)或 `swscan.exe`(命令行版) 3. `es.exe`(Everything命令行工具)已包含在发布包中,无需额外下载 ### 图形界面使用 1. **扫描文件**: - 点击「浏览...」选择目录,或直接输入路径,或点击「🌐 全盘扫描」 - 可选择盘符(全部/C:/D:/E:...)和文件类型(零件/装配体/工程图) - 点击「🔍 开始扫描」或「🌐 全盘扫描」 2. **查看结果**: - 红色标记 ⚠ 的为 SW2026+ 版本,需要降级 - 筛选栏可切换「全部/仅需降级/2025及以上」 - 类型复选框可实时过滤显示 3. **批量降级**: - 确认需要降级的文件列表 - 选择SW版本(默认2026) - (可选)指定输出目录,默认输出到原目录下的 `_downgraded` 子文件夹 - 点击「⬇ 批量降级到2025」 - 程序自动启动SW2026,逐个打开文件→另存为2025格式→关闭文件 - **原文件不会被覆盖**,降级后的文件保存在指定输出目录 ### 命令行使用 ```bash # 扫描指定目录 swscan "E:\图纸目录" # 扫描并只显示统计摘要 swscan "E:\图纸目录" --summary # 导出CSV结果 swscan "E:\图纸目录" --export result.csv # 全盘扫描(所有驱动器) swscan --all-disks # 扫描D盘 swscan --all-disks --drive D: # 扫描并自动降级2026文件到2025 swscan "E:\图纸目录" --downgrade # 指定输出目录 swscan "E:\图纸目录" --downgrade --output-dir "E:\2025版本" # 指定SW版本 swscan "E:\图纸目录" --downgrade --sw-year 2026 # 测试COM连接 swscan "." --test-com --sw-year 2026 ``` ## 🔧 编译源码 ```bash # 克隆仓库 git clone https://gitee.com/xian154563/sw-version-scanner.git cd sw-version-scanner # 编译(需要 .NET 8 SDK) dotnet build -c Release # 运行GUI dotnet run --project SwVersionScanner.App -c Release # 运行CLI dotnet run --project SwVersionScanner.Cli -c Release ``` ## ⚠️ 降级功能注意事项 1. **SW版本兼容性**:SolidWorks 官方支持保存为前两个版本格式,因此 SW2026 可保存为 2025 和 2024 格式 2. **许可证要求**:降级功能需要有效的 SolidWorks 订阅许可证(Subscription Service) 3. **文件安全**:降级后的文件保存到 `_downgraded` 子文件夹,**原始文件不会被修改或覆盖** 4. **新功能特性**:如果文件使用了 SW2026 新增功能,降级时可能丢失这些特性(与手动另存行为一致) 5. **装配体处理**:装配体会以还原模式(Resolved)打开,确保所有引用完整加载 6. **后台运行**:降级过程中 SW 以静默模式运行,窗口最小化,你可以继续做其他事情 ## 📁 项目结构 ``` SwVersionScanner/ ├── SwVersionLib/ # 核心库 │ ├── SwFileVersionInfo.cs # 文件版本数据模型 │ ├── SwVersionDetector.cs # 版本检测引擎(OLE+Shell属性) │ ├── EverythingSearch.cs # Everything(es.exe)极速搜索 │ └── SwDowngrader.cs # COM自动化批量降级 ├── SwVersionScanner.App/ # WPF 图形界面 │ ├── MainWindow.xaml │ └── MainWindow.xaml.cs ├── SwVersionScanner.Cli/ # 命令行工具 │ └── Program.cs ├── tools/ │ └── es.exe # Everything 命令行工具 └── SwVersionScanner.slnx # 解决方案文件 ``` ## 🛠️ 技术栈 - **框架**:.NET 8 (WPF + Console) - **语言**:C# 12 - **文件搜索**:[Everything](https://www.voidtools.com/) via es.exe - **版本检测**:Windows Shell32 COM API + OLE结构化存储 - **文件降级**:SolidWorks COM Automation API (`IAdvancedSaveAsOptions::SaveAsPreviousVersion`) - **UI框架**:WPF (Windows Presentation Foundation) ## 📄 开源协议 [MIT License](LICENSE) ## 🙏 致谢 - [voidtools Everything](https://www.voidtools.com/) - 提供极速文件搜索引擎 - es.exe 版权归 voidtools 所有,随本项目分发仅为方便用户使用 --- **如果这个工具帮到了你,欢迎 Star ⭐ 和 Fork!**