@echo off setlocal enabledelayedexpansion set "source_prefix=src\main\webapp\" set "target_prefix=C:\Users\dbnt\eclipse-workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\geoinfo_eGov_work\" set "target_directory=D:\git\dbnt\geoinfo.or.kr\geoinfo_eGov_work\" echo --- File Copy Script Start (Robust Version) --- echo. rem for ·çÇÁ´Â °¢ ÁÙÀ» ¼­ºê·çƾÀ¸·Î ³Ñ±â´Â ¿ªÇÒ¸¸ ¼öÇà for /f "delims=" %%i in (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