cmd로 파일을 복사하는 script

윈도우에서 간혹 다량의 다른 위치에 복사를 한다든지, UNC경로로 다른 서버에 파일을 배포할 이슈가 있습니다.
그때 아래의 코드를 약간 수정해서 사용하시면 아주 쉽게 복사를 할 수 있습니다. ^^

@echo off

set date_var=%date%
set time_var=%time%
set from_file_name=C:\cmd-test\a\*.*
set to_file_base=C:\cmd-test\
set to_file_detail=\a\
set /a server_count=25
set result_file=copy_result.txt

echo ================== update start ======================= >> %result_file%
echo %date_var% %time_var% >> update_result.txt

for /l %%i in (1,1, %server_count%) do (
 call :copy %%i
)

echo ================== copy ended ======================= >> %result_file%
echo %date_var% %time_var% >> update_result.txt
echo ================== update ended ======================= >> %result_file%
goto :EOF

:copy
setlocal
set /a rec_var=%1%
set rec_str_var=0%1%
if %rec_var% lss 10 (set rec_str_var=0%rec_var%) else (set rec_str_var=%rec_var%)
set to_full_file_name=%to_file_base%%rec_str_var%%to_file_detail%
echo %to_full_file_name%
xcopy %from_file_name% %to_full_file_name% /e /c /y /i /r /f >> %result_file%
endlocal
goto :EOF

답글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다.