파일 경로(절대 경로)를 작성한 목록을 기초로 다른 폴더로 해당 파일들이 속한 디렉터리 경로까지 동일하게 맞추어 복사해준다.

작업한 파일 리스트를 만들고 해당 파일만 별도로 뽑아 서버에 배포하기 위해 쓰인다.

 

 

 

core.cmd

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
echo.
 
echo ==============================================================================
 
echo * Processing file: [%~1]
 
 
 
if not exist "%~1" goto STEP_NOT_EXIST
 
 
 
set DIR_CURRENT=%~dp0
 
set FILE_FULLPATH=%~1
 
set DIR_FULLPATH=%~dp1
 
set DIR_PATHONLY=%~p1
 
set FILE_FULLNAME=%~nx1
 
set FILE_NAMEONLY=%~n1
 
set FILE_EXTONLY=%~x1
 
set FILE_EXTONLY=%FILE_EXTONLY:~1,3%
 
 
 
set TARGET_DIR=%DIR_CURRENT%%DIR_PATHONLY:~1%
 
set TARGET_FILE=%TARGET_DIR%%FILE_FULLNAME%
 
 
 
echo * Checking directory: [%TARGET_DIR%]
 
if not exist "%TARGET_DIR%" (
 
 echo ** Create directory
 
 mkdir "%TARGET_DIR%"
 
else (
 
 echo ** Directory already exist
 
)
 
 
 
echo * Checking file: [%TARGET_FILE%]
 
if not exist "%TARGET_FILE%" (
 
 echo ** Copy file from: [%FILE_FULLPATH%]
 
 echo **             to: [%TARGET_FILE%]
 
 copy "%FILE_FULLPATH%" "%TARGET_FILE%" > NUL
 
else (
 
 echo ** File already exist
 
)
 
 
 
goto STEP_END
 
 
 
:STEP_NOT_EXIST
 
echo * Processing stop file not exist 
 
 
 
:STEP_END
 
 
cs
 
 
startFileCopy.cmd
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
 
@echo off
echo **************************************************
echo * 파일복사 배치 프로그램                         *
echo * 사용법 ) list.txt 파일에                       *
echo *          복사할 파일 목록을 작성합니다.        *
echo *          ex) C:\test\f\f_testFile_2.txt        *
echo *                                                *
echo * 기존에 해당 파일이 있을경우 복사하지 않습니다. *
echo *                                                *
echo *                           * Create By Cheezred *
echo **************************************************
echo.
 
set /p key=실행하시겠습니까(Y/N)?
if /"%key%"=="y" ( 
  goto STEP_START_JOB
else (
  goto STEP_END_JOB
)
    
 
goto STEP_END_JOB
 
:STEP_START_JOB
setlocal enableextensions
for /"eol=# delims=" %%i in (list.txt) do call core.cmd "%%i"
 
endlocal
 
goto STEP_END
 
:STEP_END_JOB
echo 사용자의 요청으로 작업이 취소되었습니다.
 
 
:STEP_END
cs
 
 
list.txt
 
1
2
3
4
# 사용 예제 
# ex C:\Windows\System32\acproxy.dll
 
#제외하고 싶은 파일은 #을 맨앞에 입력
cs

 

+ Recent posts