@echo off title PDF书签合并工具 - Windows 7兼容编译 chcp 65001 >nul echo ========================================== echo PDF书签合并工具 - Windows 7兼容编译 echo ========================================== echo. REM 检查项目文件 if not exist "SlideCombine.csproj" ( echo ❌ 错误:未找到 SlideCombine.csproj 项目文件 echo 请确保在项目根目录下运行此脚本 pause exit /b 1 ) echo ✅ 项目文件检查通过 echo. REM 检查MSBuild echo 🔍 正在查找 MSBuild... set MSBUILD_PATH= REM Visual Studio 2022 if exist "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Current\Bin\MSBuild.exe" ( set MSBUILD_PATH=C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Current\Bin\MSBuild.exe echo ✅ 找到 Visual Studio 2022 Enterprise ) if exist "C:\Program Files\Microsoft Visual Studio\2022\Professional\MSBuild\Current\Bin\MSBuild.exe" ( set MSBUILD_PATH=C:\Program Files\Microsoft Visual Studio\2022\Professional\MSBuild\Current\Bin\MSBuild.exe echo ✅ 找到 Visual Studio 2022 Professional ) if exist "C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Current\Bin\MSBuild.exe" ( set MSBUILD_PATH=C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Current\Bin\MSBuild.exe echo ✅ 找到 Visual Studio 2022 Community ) REM Visual Studio 2019 if exist "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\MSBuild.exe" ( set MSBUILD_PATH=C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\MSBuild.exe echo ✅ 找到 Visual Studio 2019 Enterprise ) if exist "C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\MSBuild\Current\Bin\MSBuild.exe" ( set MSBUILD_PATH=C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\MSBuild\Current\Bin\MSBuild.exe echo ✅ 找到 Visual Studio 2019 Professional ) if exist "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin\MSBuild.exe" ( set MSBUILD_PATH=C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin\MSBuild.exe echo ✅ 找到 Visual Studio 2019 Community ) REM Visual Studio 2017 if exist "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\MSBuild.exe" ( set MSBUILD_PATH=C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\MSBuild.exe echo ✅ 找到 Visual Studio 2017 Enterprise ) if exist "C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\15.0\Bin\MSBuild.exe" ( set MSBUILD_PATH=C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\15.0\Bin\MSBuild.exe echo ✅ 找到 Visual Studio 2017 Professional ) if exist "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin\MSBuild.exe" ( set MSBUILD_PATH=C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin\MSBuild.exe echo ✅ 找到 Visual Studio 2017 Community ) REM MSBuild Tools if exist "C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\MSBuild\Current\Bin\MSBuild.exe" ( set MSBUILD_PATH=C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\MSBuild\Current\Bin\MSBuild.exe echo ✅ 找到 MSBuild Tools 2019 ) if exist "C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin\MSBuild.exe" ( set MSBUILD_PATH=C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin\MSBuild.exe echo ✅ 找到 MSBuild Tools 2017 ) REM .NET Framework MSBuild if exist "C:\Windows\Microsoft.NET\Framework64\v4.0.30319\MSBuild.exe" ( set MSBUILD_PATH=C:\Windows\Microsoft.NET\Framework64\v4.0.30319\MSBuild.exe echo ✅ 找到 .NET Framework MSBuild (64位) ) if exist "C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe" ( set MSBUILD_PATH=C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe echo ✅ 找到 .NET Framework MSBuild (32位) ) if "%MSBUILD_PATH%"=="" ( echo ❌ 错误:未找到 MSBuild.exe echo. echo 请安装以下工具之一: echo 1. Visual Studio 2017/2019/2022 echo 2. MSBuild Tools echo 3. .NET Framework 4.5.2 Developer Pack echo. echo 下载地址: echo • Visual Studio Community: https://visualstudio.microsoft.com/zh-hans/vs/community/ echo • MSBuild Tools: https://visualstudio.microsoft.com/zh-hans/downloads/#build-tools-for-visual-studio-2019 echo • .NET Framework 4.5.2: https://dotnet.microsoft.com/download/dotnet-framework/net452 echo. pause exit /b 1 ) echo ✅ MSBuild 路径:%MSBUILD_PATH% echo. REM 创建版本信息 set VERSION=2.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 🧹 清理之前的构建... "%MSBUILD_PATH%" SlideCombine.csproj /t:Clean /p:Configuration=Release /p:Platform="AnyCPU" /v:minimal REM 生成设计器文件(如果不存在) if not exist "Form1.Designer.cs" ( echo 🎨 生成设计器文件... REM 这里通常需要在Visual Studio中设计界面,我们假设已存在 ) REM 编译 Release 版本 echo 🔨 编译 Windows 7 兼容版本... "%MSBUILD_PATH%" SlideCombine.csproj /t:Build /p:Configuration=Release /p:Platform="AnyCPU" /v:minimal /p:TargetFrameworkVersion=v4.5.2 if %ERRORLEVEL% neq 0 ( echo ❌ 编译失败! echo 请检查代码中的错误 echo. echo 常见问题: echo 1. 确保已安装 .NET Framework 4.5.2 Developer Pack echo 2. 检查代码是否使用了高版本API echo 3. 确认项目文件配置正确 echo. pause exit /b 1 ) echo ✅ 编译成功! echo. REM 检查编译输出 if not exist "bin\Release\SlideCombine.exe" ( echo ❌ 错误:未找到编译输出文件 echo 期望文件路径:bin\Release\SlideCombine.exe pause exit /b 1 ) REM 创建发布包 echo 📦 创建 Windows 7 兼容发布包... REM 设置发布包名称 set RELEASE_NAME=SlideCombine_Win7_v%VERSION%_%DATE% if exist "%RELEASE_NAME%" rd /s /q "%RELEASE_NAME%" mkdir "%RELEASE_NAME%" REM 复制主程序 echo 📄 复制主程序... copy "bin\Release\SlideCombine.exe" "%RELEASE_NAME%\" >nul REM 复制配置文件(如果存在) if exist "bin\Release\SlideCombine.exe.config" ( copy "bin\Release\SlideCombine.exe.config" "%RELEASE_NAME%\" >nul echo ✅ 复制配置文件 ) REM 复制图标文件(如果存在) if exist "app.ico" ( copy "app.ico" "%RELEASE_NAME%\" >nul echo ✅ 复制图标文件 ) REM 创建使用说明 echo 📝 创建使用说明... ( echo PDF书签合并工具 v%VERSION% - Windows 7兼容版 echo ============================================= echo. echo 系统要求: echo ✅ Windows 7 SP1 或更高版本 echo ✅ .NET Framework 4.5.2 或更高版本(通常已内置) echo ✅ 绿色软件,解压即用 echo. echo 使用方法: echo 1. 双击运行 SlideCombine.exe echo 2. 选择三个路径: echo - PDF文件夹路径:包含 FreePic2Pdf_bkmk.txt 文件的文件夹 echo - TXT源文件路径:包含元数据 TXT 文件的路径 echo - 输出路径:合并后文件的保存位置 echo 3. 点击"开始合并"按钮 echo 4. 等待处理完成 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 Framework 4.5.2 echo • 下载地址:https://dotnet.microsoft.com/download/dotnet-framework/net452 echo • 确保有足够的磁盘空间和文件访问权限 echo • 如果杀毒软件误报,请添加信任 echo. echo 技术信息: echo • 版本: v%VERSION% echo • 构建日期: %DATE% echo • 目标框架: .NET Framework 4.5.2 echo • 兼容系统: Windows 7 SP1+ echo • 文件大小: 约 30-50 KB echo. echo 特点: echo • 🚀 启动速度快 echo • 📦 绿色软件,无需安装 echo • 🎯 智能文件分组 echo • 📊 详细处理日志 echo • 🌍 多编码支持 echo • 💾 体积小,易分发 ) > "%RELEASE_NAME%\Windows7使用说明.txt" REM 创建启动脚本 echo 🚀 创建启动脚本... ( echo @echo off echo title PDF书签合并工具 v%VERSION% echo echo 启动 PDF书签合并工具... echo echo. echo. echo if exist "SlideCombine.exe" ^( echo start "" "SlideCombine.exe" echo echo ✅ 程序已启动 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 Windows 7 兼容性检查 echo echo Windows 7 兼容性检查 echo echo ==================== echo echo. echo echo 检查操作系统版本... echo ver echo echo. echo echo 检查 .NET Framework... echo if exist "C:\Windows\Microsoft.NET\Framework64\v4.0.30319" ^( echo echo ✅ 找到 .NET Framework 4.x ^(64位^) echo ^) else ^( echo if exist "C:\Windows\Microsoft.NET\Framework\v4.0.30319" ^( echo echo ✅ 找到 .NET Framework 4.x ^(32位^) echo ^) else ^( echo echo ❌ 未找到 .NET Framework 4.x echo echo 请安装 .NET Framework 4.5.2 echo echo 下载地址:https://dotnet.microsoft.com/download/dotnet-framework/net452 echo ^) echo ^) echo echo. echo echo 兼容性检查完成 echo echo 如果有❌标记,请安装 .NET Framework 4.5.2 echo echo. echo pause ) > "%RELEASE_NAME%\兼容性检查.bat" REM 获取文件大小 for %%F in ("%RELEASE_NAME%\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 ========================================== echo 📊 编译完成统计 echo ========================================== echo ✅ 编译状态:成功 echo 📦 发布包名称:%RELEASE_NAME% echo 💾 主程序大小:%FILE_SIZE_KB% KB %FILE_SIZE_MB% MB echo 📁 发布包位置:%CD%\%RELEASE_NAME%\ echo ⚡ 发布包内容: echo ├─ SlideCombine.exe ^(主程序,%FILE_SIZE_KB% KB^) echo ├─ Windows7使用说明.txt ^(用户指南^) echo ├─ 启动程序.bat ^(快捷启动^) echo └─ 兼容性检查.bat ^(环境检查^) echo. echo 🎉 Windows 7 兼容发布包创建成功! echo. echo 🔧 Windows 7 部署说明: echo 1. 确保目标电脑已安装 .NET Framework 4.5.2 或更高版本 echo 2. 将整个 %RELEASE_NAME% 文件夹复制到目标电脑 echo 3. 运行"兼容性检查.bat"确保环境正确 echo 4. 双击"启动程序.bat"或直接运行"SlideCombine.exe" echo 5. 无需安装任何软件,绿色环保! echo. echo 📋 下一步: echo - 测试程序是否正常运行 echo - 复制到 U 盘或上传到网络进行分发 echo - 可以在 Windows 7 上测试兼容性 echo. REM 询问是否打开发布文件夹 echo 是否打开发布文件夹?(Y/N) set /p choice=请输入选择: if /i "%choice%"=="Y" ( start "" "%RELEASE_NAME%" echo ✅ 已打开发布文件夹 ) echo. echo Windows 7 兼容编译流程完成!按任意键退出... pause >nul