@echo off setlocal enabledelayedexpansion rem # ---------------------------------------------------------------------- rem # ȯ°æ ¼³Á¤: path.txt¿¡¼­ ÀÌŬ¸³½º °æ·Î¸¦ ÀÐ°í ¿öÅ©½ºÆäÀ̽º °æ·Î¸¦ ¼³Á¤ÇÕ´Ï´Ù. rem # ---------------------------------------------------------------------- rem # target_directory¸¦ ÇöÀç ¹èÄ¡ ÆÄÀÏÀÌ ½ÇÇàµÇ´Â °æ·Î·Î ¼³Á¤ÇÕ´Ï´Ù. set "target_directory=%~dp0" set "path_file=%target_directory%path.txt" set "eclipse_path=" rem # path.txt ÆÄÀÏÀÌ Á¸ÀçÇÏ´ÂÁö È®ÀÎÇÕ´Ï´Ù. if not exist "%path_file%" ( echo [ERROR] "%path_file%"À» ãÀ» ¼ö ¾ø½À´Ï´Ù. ½ºÅ©¸³Æ®¸¦ Á¾·áÇÕ´Ï´Ù. pause exit /b ) rem # path.txt¿¡¼­ 'eclipse='·Î ½ÃÀÛÇÏ´Â ¶óÀÎÀ» ã¾Æ ÀÌŬ¸³½º °æ·Î¸¦ ¼³Á¤ÇÕ´Ï´Ù. for /f "tokens=1,* delims==" %%a in ('findstr /b "eclipse=" "%path_file%"') do ( set "eclipse_path=%%b" ) if not defined eclipse_path ( echo [ERROR] "%path_file%"¿¡¼­ ÀÌŬ¸³½º °æ·Î¸¦ ãÀ» ¼ö ¾ø½À´Ï´Ù. pause exit /b ) rem # ÀÌŬ¸³½º ¼³Á¤ ÆÄÀÏ °æ·Î¸¦ ¸¸µì´Ï´Ù. set "prefs_file=!eclipse_path!\configuration\.settings\org.eclipse.ui.ide.prefs" if not exist "!prefs_file!" ( echo [ERROR] Eclipse ¼³Á¤ ÆÄÀÏÀ» ãÀ» ¼ö ¾ø½À´Ï´Ù: "!prefs_file!" pause exit /b ) rem # ¼³Á¤ ÆÄÀÏ¿¡¼­ ÃÖ±Ù ¿öÅ©½ºÆäÀ̽º ¸ñ·ÏÀ» Àоî¿É´Ï´Ù. for /f "tokens=1,* delims==" %%a in ('findstr /b "RECENT_WORKSPACES=" "!prefs_file!"') do ( set "workspaces_line=%%b" ) rem # \nÀ» °ø¹éÀ¸·Î ġȯÇÏ¿© ¿©·¯ °æ·Î°¡ ÀÖÀ» °æ¿ì ù ¹øÂ° °æ·Î¸¸ °¡Á®¿É´Ï´Ù. set "workspaces_line_cleaned=!workspaces_line:\n= !" for /f "tokens=1" %%w in ("!workspaces_line_cleaned!") do ( set "workspace_path=%%w" ) rem # °æ·Î¿¡ Æ÷ÇÔµÈ À̽ºÄÉÀÌÇÁ ¹®ÀÚ(\\)¸¦ ´ÜÀÏ ¹é½½·¡½Ã(\)·Î º¯°æÇÕ´Ï´Ù. set "workspace_path=!workspace_path:\\=\!" rem # µå¶óÀÌºê °æ·Î Çü½ÄÀÌ 'D\:\'¿Í °°ÀÌ À߸øµÈ °æ¿ì 'D:\'·Î ¹Ù·ÎÀâ½À´Ï´Ù. set "drive_letter=!workspace_path:~0,1!" if /i "!workspace_path:~1,2!" == "\:" ( set "workspace_path=!drive_letter!:!workspace_path:~3!" ) rem # ÃÖÁ¾ target_prefix¸¦ ¼³Á¤ÇÕ´Ï´Ù. set "target_prefix=!workspace_path!\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\geoinfo_admin\" explorer "!target_prefix!" echo target_prefix: "!target_prefix!" set "source_prefix=src\main\webapp\" echo --- File Copy Script Start (Robust Version) --- echo. rem for ·çÇÁ´Â °¢ ÁÙÀ» ¼­ºê·çƾÀ¸·Î ³Ñ±â´Â ¿ªÇÒ¸¸ ¼öÇà for /f "delims=" %%i in (admin_list.txt) do ( call :processLine "%%i" ) echo. echo --- All operations completed. --- pause goto :eof rem ====================================================== rem :processLine ¼­ºê·çƾ - ½ÇÁ¦ ÆÄÀÏ Ã³¸® ·ÎÁ÷ rem ====================================================== :processLine set "line=%~1" rem ·çÇÁ ½ÃÀÛ ½Ã º¯¼ö ÃʱâÈ­ set "source_file=" set "target_file=" set "relative_path=" rem #À¸·Î ½ÃÀÛÇÏ´Â ÁÖ¼® ¶óÀÎ °Ç³Ê¶Ù±â if "!line:~0,1!" == "#" ( echo [SKIP] Comment: !line! goto :eof ) echo [PROCESS] !line! rem .java ÆÄÀÏ °Ç³Ê¶Ù±â if "!line:~-5!" == ".java" ( echo [SKIP] Java source file. goto :eof ) set "source_file=%target_directory%!line!" set "relative_path=!line:%source_prefix%=!" rem .xml ÆÄÀÏÀº WEB-INF\classes °æ·Î·Î ó¸® if "!line:~-4!" == ".xml" ( set "relative_path=!line:*src\main\resources\=!" set "target_file=%target_prefix%WEB-INF\classes\!relative_path!" ) else ( rem ±× ¿Ü ¸ðµç ÆÄÀÏ Ã³¸® set "target_file=%target_prefix%!relative_path!" ) rem --- [¼öÁ¤µÈ ºÎºÐ] ÆÄÀÏ º¹»ç ½ÇÇà ¹× °á°ú Ãâ·Â --- if defined source_file ( if exist "!source_file!" ( echo [COPY] echo FROM: "!source_file!" echo TO: "!target_file!" xcopy /i /Y "!source_file!" "!target_file!" > nul rem xcopy ¼º°ø ¿©ºÎ È®ÀÎ (errorlevelÀÌ 0ÀÌ¸é ¼º°ø) if !errorlevel! == 0 ( echo -> SUCCESS ) else ( echo -> FAILED (Error Code: !errorlevel!) ) ) else ( echo [ERROR] Source file not found: "!source_file!" ) ) echo. goto :eof