@echo off setlocal rem ============================================================ rem ILSOS 소스 백업 - 빌드에 필요한 소스만 암호 zip 으로 묶는다. rem rem - 배치파일이 있는 폴더를 기준(상대경로)으로 동작한다. rem - 파일 목록을 박아두지 않고 확장자로 거르므로, rem .cs / .xaml 을 추가해도 이 파일을 고칠 필요가 없다. rem - 결과 zip 은 다음 실행 때 압축 대상에서 제외된다. rem ============================================================ cd /d "%~dp0" set "PW=ub8877" set "PF86=%ProgramFiles(x86)%" rem ---- 압축기 찾기 : 동봉본 우선, 없으면 설치본 ---- set "SEVENZIP=" if exist "tools\7za.exe" set "SEVENZIP=tools\7za.exe" if not defined SEVENZIP if exist "%ProgramFiles%\7-Zip\7z.exe" set "SEVENZIP=%ProgramFiles%\7-Zip\7z.exe" if not defined SEVENZIP if exist "%PF86%\7-Zip\7z.exe" set "SEVENZIP=%PF86%\7-Zip\7z.exe" if not defined SEVENZIP ( echo. echo [오류] 압축기를 찾지 못했습니다. echo tools\7za.exe 가 없고 7-Zip 도 설치되어 있지 않습니다. echo tools\7za.exe 를 복원하거나 7-Zip 을 설치한 뒤 다시 실행하세요. echo. pause exit /b 1 ) rem ---- 타임스탬프 (%date% 는 로케일 의존이라 PowerShell 로 받는다) ---- set "TS=" for /f %%i in ('powershell -NoProfile -Command "Get-Date -Format yyyyMMdd_HHmmss"') do set "TS=%%i" if not defined TS set "TS=notime" set "OUT=ILSOS_All_src_%TS%.zip" echo. echo 압축기 : %SEVENZIP% echo 대상 : %CD% echo 출력 : %OUT% echo 암호 : %PW% echo. echo 압축 중... (빌드에 필요한 소스만) echo. "%SEVENZIP%" a -tzip -mx=9 -p%PW% "%OUT%" ^ -ir!*.sln -ir!*.csproj -ir!*.cs -ir!*.xaml -ir!*.resx -ir!*.config ^ -ir!*.settings -ir!*.manifest -ir!*.snk -ir!*.dll ^ -ir!*.png -ir!*.ico -ir!*.jpg -ir!*.jpeg -ir!*.bmp -ir!*.gif -ir!*.cur -ir!*.ttf ^ -x!External -x!External\* -x!packages -x!packages\* ^ -xr!obj -xr!bin -xr!.git -xr!.vs -xr!_out* -xr!_intermediate ^ -xr!intermediate* -xr!_workspace -xr!_release -xr!_test -xr!Doc -xr!docs ^ -xr!.claude -xr!.ubisam_agent -xr!.serena -xr!__pycache__ ^ -xr!UnTrackedLocalFiles -xr!_dummyImages -xr!tools -xr!*.zip -xr!*.7z -xr!*.rar if errorlevel 1 ( echo. echo [오류] 압축에 실패했습니다. 위 메시지를 확인하세요. echo. pause exit /b 1 ) set "SIZE=0" for %%F in ("%OUT%") do set "SIZE=%%~zF" set /a SIZE_MB=%SIZE% / 1048576 echo. echo ============================================================ echo [완료] %OUT% echo %CD%\%OUT% echo 약 %SIZE_MB% MB (%SIZE% bytes) echo 암호 : %PW% echo ============================================================ echo. pause exit /b 0