@echo off title PDF书签合并工具 - 现代化版本编译发布 chcp 65001 >nul echo ========================================== echo PDF书签合并工具 - .NET 8.0 现代版 echo ========================================== echo. REM 检查项目文件 if not exist "SlideCombine_Modern.csproj" ( echo ❌ 错误:未找到 SlideCombine_Modern.csproj 项目文件 echo 请确保在项目根目录下运行此脚本 pause exit /b 1 ) echo ✅ 现代化项目文件检查通过 echo. REM 检查 .NET SDK echo 🔍 检查 .NET SDK ... dotnet --version >nul 2>&1 if %ERRORLEVEL% neq 0 ( echo ❌ 错误:未找到 .NET SDK echo 请安装 .NET 8.0 SDK: echo https://dotnet.microsoft.com/download/dotnet/8.0 pause exit /b 1 ) set DOTNET_VERSION= for /f "tokens=*" %%i in ('dotnet --version') do set DOTNET_VERSION=%%i echo ✅ 找到 .NET SDK 版本:%DOTNET_VERSION% echo. REM 创建版本信息 set VERSION=3.0.0 set DATE=%date:~0,4%%date:~5,2%%date:~8,2% set TIME=%time:~0,2%%time:~3,2% set TIME=%TIME: =0% echo 📅 版本信息:%VERSION% (%DATE% %TIME%) echo. REM 清理之前的构建 echo 🧹 清理之前的构建... if exist "bin" rd /s /q "bin" if exist "obj" rd /s /q "obj" if exist "publish" rd /s /q "publish" echo ✅ 清理完成 echo. REM 编译发布 echo 🔨 编译现代化版本... echo 目标:win-x64 自包含单文件 echo 框架:.NET 8.0 echo. dotnet publish SlideCombine_Modern.csproj ^ --configuration Release ^ --runtime win-x64 ^ --self-contained true ^ --output "publish" ^ -p:PublishSingleFile=true ^ -p:PublishReadyToRun=true ^ -p:IncludeNativeLibrariesForSelfExtract=true ^ -p:DebugType=None ^ -p:DebugSymbols=false if %ERRORLEVEL% neq 0 ( echo ❌ 编译失败! echo 请检查代码中的错误 pause exit /b 1 ) echo ✅ 编译成功! echo. REM 检查输出文件 if not exist "publish\SlideCombine.exe" ( echo ❌ 错误:未找到编译输出文件 echo 期望文件路径:publish\SlideCombine.exe pause exit /b 1 ) REM 获取文件大小 for %%F in ("publish\SlideCombine.exe") do set FILE_SIZE=%%~zF set /a FILE_SIZE_MB=%FILE_SIZE% / 1024 / 1024 set /a FILE_SIZE_KB=%FILE_SIZE% / 1024 echo 📊 编译统计: echo 文件大小:%FILE_SIZE_KB% KB (%FILE_SIZE_MB% MB) echo. REM 创建发布包 echo 📦 创建现代化发布包... set RELEASE_NAME=SlideCombine_v%VERSION%_%DATE% if exist "%RELEASE_NAME%" rd /s /q "%RELEASE_NAME%" mkdir "%RELEASE_NAME%" REM 复制主程序 echo 📄 复制主程序... copy "publish\SlideCombine.exe" "%RELEASE_NAME%\" >nul REM 创建现代化使用说明 echo 📝 创建使用说明... ( echo PDF书签合并工具 v%VERSION% - 现代化版本 echo ========================================== echo. echo 🎯 版本特色: echo • .NET 8.0 最新技术栈 echo • 自包含单文件 - 无需运行时 echo • 跨平台支持 (Windows) echo • 高性能启动 echo • 现代化UI体验 echo. echo 💻 系统要求: echo ✅ Windows 7 SP1 或更高版本 echo ✅ Windows 8/8.1 echo ✅ Windows 10 (推荐) echo ✅ Windows 11 echo ✅ 无需安装 .NET 或其他运行时 echo. echo 🚀 使用方法: echo 1. 双击运行 SlideCombine.exe echo 2. 选择三个路径: echo • PDF文件夹路径:包含 FreePic2Pdf_bkmk.txt 文件的文件夹 echo • TXT源文件路径:包含元数据 TXT 文件的路径 echo • 输出路径:合并后文件的保存位置 echo 3. 点击"🚀 开始合并"按钮 echo 4. 查看实时处理日志 echo 5. 等待处理完成 echo. echo 📁 示例目录结构: echo PDF文件夹/ echo ├─ CH-875 1-3/FreePic2Pdf_bkmk.txt echo ├─ CH-875 4-6/FreePic2Pdf_bkmk.txt echo. echo TXT源文件/ echo ├─ CH-875 1-3.txt echo ├─ CH-875 4-6.txt echo. echo 输出路径/ echo └─ CH-875.txt ^(合并后的文件^) echo. echo 🌟 技术特点: echo • 🚀 自包含技术:无需安装.NET运行时 echo • 📦 单文件部署:整个程序只有一个exe文件 echo • ⚡ 高性能:.NET 8.0 最新优化 echo • 🎨 现代化UI:流畅的用户体验 echo • 🔒 安全可靠:最新安全特性 echo • 🌍 多编码支持:UTF-8, GBK, GB2312 echo • 📊 智能处理:自动文件分组和错误处理 echo. echo 🔧 故障排除: echo • 程序无法启动:请检查是否有杀毒软件阻止 echo • 权限问题:右键"以管理员身份运行" echo • 文件访问:确保对输入输出路径有读写权限 echo. echo 📋 版本信息: echo • 程序版本:v%VERSION% echo • 构建日期:%DATE% echo • 开发框架:.NET 8.0 echo • 编译环境:Windows 10 + VS 2026 echo • 文件大小:%FILE_SIZE_KB% KB (%FILE_SIZE_MB% MB) echo • 发布方式:自包含单文件 echo. echo 🎉 享受现代化PDF书签合并体验! ) > "%RELEASE_NAME%\现代化使用说明.txt" REM 创建启动脚本 echo 🚀 创建启动脚本... ( echo @echo off echo title PDF书签合并工具 v%VERSION% echo echo 启动 PDF书签合并工具 v%VERSION%... echo echo .NET 8.0 现代化版本 echo echo. echo. echo if exist "SlideCombine.exe" ^( echo echo ✅ 程序已启动 - .NET 8.0 自包含版本 echo start "" "SlideCombine.exe" echo ^) else ^( echo echo ❌ 错误:未找到 SlideCombine.exe echo echo 请确保在正确的目录中运行此脚本 echo pause echo ^) echo. echo timeout /t 2 ^>nul ) > "%RELEASE_NAME%\启动程序.bat" REM 创建系统信息脚本 echo 🔍 创建系统信息脚本... ( echo @echo off echo title 系统信息检查 echo echo PDF书签合并工具 - 系统信息检查 echo echo ===================================== echo echo. echo echo 操作系统信息: echo ver echo echo. echo echo 系统架构: echo if "%PROCESSOR_ARCHITECTURE%"=="AMD64" ( echo echo ✅ 64位系统 ^(推荐^) echo ^) else ( echo ⚠️ 32位系统 ^(支持^) echo ^) echo echo. echo echo 内存信息: echo systeminfo ^| findstr /C:"Total Physical Memory" echo echo. echo echo 程序要求: echo echo ✅ Windows 7 SP1+ 或更高版本 echo echo ✅ 无需安装任何运行时 ^(自包含^) echo echo ✅ 推荐至少 100MB 可用磁盘空间 echo echo. echo echo 系统已准备就绪! echo echo. echo pause ) > "%RELEASE_NAME%\系统检查.bat" echo. echo ========================================== echo 🎉 现代化编译完成 echo ========================================== echo ✅ 编译状态:成功 echo 📦 发布包名称:%RELEASE_NAME% echo 💾 主程序大小:%FILE_SIZE_KB% KB (%FILE_SIZE_MB% MB) echo 🎯 目标框架:.NET 8.0 echo 🖥️ 目标平台:win-x64 echo 📁 发布包位置:%CD%\%RELEASE_NAME%\ echo ⚡ 发布包内容: echo ├─ SlideCombine.exe ^(主程序,%FILE_SIZE_KB% KB^) echo ├─ 现代化使用说明.txt ^(详细指南^) echo ├─ 启动程序.bat ^(快捷启动^) echo └─ 系统检查.bat ^(环境检查^) echo. echo 🌟 现代化优势: echo • ✅ 自包含单文件 - 无需安装.NET运行时 echo • ✅ 高性能启动 - .NET 8.0 最新优化 echo • ✅ 跨版本兼容 - Windows 7 到 Windows 11 echo • ✅ 现代化技术栈 - 最新安全特性 echo • ✅ 开发友好 - VS 2026 完美支持 echo. echo 🎯 部署说明: echo 1. 将整个 %RELEASE_NAME% 文件夹复制到任意电脑 echo 2. 运行"系统检查.bat"确保环境正确 echo 3. 双击"启动程序.bat"或直接运行SlideCombine.exe echo 4. 无需安装任何软件,真正绿色环保! echo. REM 询问是否打开发布文件夹 echo 是否打开发布文件夹?(Y/N) set /p choice=请输入选择: if /i "%choice%"=="Y" ( start "" "%RELEASE_NAME%" echo ✅ 已打开发布文件夹 ) echo. echo 🎉 现代化编译发布完成!按任意键退出... pause >nul