OS/Windows
CMD 명령을 이용한 파일 복사 배치
망할고양이
2016. 1. 11. 13:23
파일 경로(절대 경로)를 작성한 목록을 기초로 다른 폴더로 해당 파일들이 속한 디렉터리 경로까지 동일하게 맞추어 복사해준다.
작업한 파일 리스트를 만들고 해당 파일만 별도로 뽑아 서버에 배포하기 위해 쓰인다.
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 /i "%key%"=="y" (
goto STEP_START_JOB
) else (
goto STEP_END_JOB
)
goto STEP_END_JOB
:STEP_START_JOB
setlocal enableextensions
for /f "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 |