배치 파일을 사용하여 폴더의 모든 내용을 다른 폴더로 복사합니까?


130

폴더가 있습니다 C:\Folder1

모든 내용 Folder1을 다른 위치 로 복사하고 싶습니다 .D:\Folder2

배치 파일을 사용하여이 작업을 어떻게 수행합니까?

답변:


163

xcopy.exe여기에 해결책이 있습니다. Windows에 내장되어 있습니다.

xcopy /s c:\Folder1 d:\Folder2

http://www.computerhope.com/xcopyhlp.htm 에서 더 많은 옵션을 찾을 수 있습니다 .


3
안녕하세요 Hussain, 배치 파일에서 xcopy / sc : \ Folder1 d : \ Folder2 명령을 시도했지만 작동하지 않습니다. 좀 더 안내해 주시겠습니까?
SCM

안녕하세요, 컴퓨터에 해당 xcopy가 없을 수도 있습니다. 그러나 여기서 배치 파일을 다운로드 할 수 있습니다. brothersoft.com/xcopy-177904.html
eHussain

4
빈 서브 디렉토리도 복사하려면 / s / e 플래그를 사용해야합니다.
Ameba Spugnosa

/ e가 / s를 자동으로 포함하지 않습니까?
mghicks

14
xcopy파일 이름이 254 자보다 길면 더 이상 사용되지 않으며 '메모리 부족'오류가 발생합니다. robocopy대신 사용하십시오 : robocopy C:\Folder1 D:\Folder2 /COPYALL /E en.wikipedia.org/wiki/Robocopy
Marco Demaio

39

Robocopy가 있다면

robocopy C:\Folder1 D:\Folder2 /COPYALL /E

그렇지 않으면,

xcopy /e /v C:\Folder1 D:\Folder2

1
이것이 Folder1의 내용을 복사하는 경우 폴더 자체를 복사하려면 어떻게해야합니까?
Kyle Delaney

2
@KyleDelaney는 대상에 소스 폴더 이름을 포함합니다 (예 : "xcopy / e / v C : \ Folder1 D : \ Folder2 \ Folder1 \"
mghicks

1
참고 이스케이프 문자로 ROBOCOPY가 사용 \ (CMD는하지 않습니다) , 당신이 시도하고 공간 인용 경로에 전달하고 경우 종료 슬래시 같은 "C:\My Folder\"당신이 불쾌한 놀라움을받을 수 있습니다. SS64 페이지를주의 깊게 읽는 것이 좋습니다. "CMD의 이스케이프 문자"토끼 구멍을 완전히 살펴 보려면 배치 스크립트에서 큰 따옴표 이스케이프를 참조하십시오 .
jrh

21

대상이 파일 또는 폴더인지 알려주는 메시지를 제거하려면 슬래시를 추가하십시오.

xcopy /s c:\Folder1 d:\Folder2\


16

xcopy 사용을 제안하는 많은 답변이 있습니다. 그러나 이것은 불필요합니다. 이 질문에서 저자는 폴더 자체를 복사하지 않고 폴더의 콘텐츠를 원한다는 것을 분명히 언급합니다.

copy "C:\Folder1" *.*  "D:\Folder2"

xcopy하위 디렉토리가 있으면 모두 사용할 수 있습니다.C:\Folder1


1
복사하려는 폴더가 아직 존재하지 않는 경우 (작동하지 않습니다)md D:\Folder2
Mark Deven

2
copy명령 (Windows 10 명령 프롬프트)에 구문이 잘못되었다고 알려줍니다. 다음은 올바른 구문입니다.copy "C:\Folder1\*.*" "D:\Folder2"
j00hi

4

RoboCopy는 저에게 효과적이지 않았으며 여기에는 좋은 해결책이 있지만 XCopy 스위치와 그 기능에 대해서는 설명하지 않았습니다. 또한 경로에 공백이있는 경우 따옴표가 필요합니다.

xcopy / i / e "C : \ temp \ 폴더 1" "C : \ temp \ 폴더 2"

다음은 Microsoft의 설명서입니다.

XCopy MS 설명서

/s: Specifies to include subdirectories. Excludes empty subdirectories
/e: Copies all subdirectories, even if they are empty
/i: specifies the destination is a folder (Otherwise it prompts you)

2
@echo off
::Ask
echo Your Source Path:
set INPUT1=
set /P INPUT1=Type input: %=%

echo Your Destination Path:
set INPUT2=
set /P INPUT2=Type input: %=%

xcopy %INPUT1% %INPUT2% /y /s

2

내 PC에서 xcopy 및 robocopy에는 경로가 필요합니다 (예 : C : \ Windows \ System32 \ xcopy.exe).

이것이 바로 "복사"를 사용하는 이유입니다. copy / y .... \ Folder1 \ File.txt .... \ Folder2 \


2
@echo off
xcopy /s C:\yourfile C:\anotherfile\

이것이 완료된 방법입니다! 간단 하죠?


-1

참고로 TortoiseSVN을 사용하고 전체 리포지토리를 주기적으로 "안전한"위치에 xcopy (또는 디렉터리 미러)하기 위해 간단한 배치 파일을 만들려는 경우 사용하려는 특정 코드입니다. 숨겨진 디렉토리 / 파일을 복사하고 읽기 전용 속성을 유지하며 모든 하위 디렉토리와 무엇보다도 입력하라는 메시지를 표시하지 않습니다. folder1 (안전한 저장소) 및 folder2 (사용 가능한 저장소)를 올바르게 할당하십시오.

@echo off
echo "Setting variables..."
set folder1="Z:\Path\To\Backup\Repo\Directory"
set folder2="\\Path\To\Usable\Repo\Directory"
echo "Removing sandbox version..."
IF EXIST %folder1% (
    rmdir %folder1% /s /q
)
echo "Copying official repository into backup location..."
xcopy /e /i /v /h /k %folder2% %folder1%

그리고 그것은 사람들입니다!

예약 된 작업에 추가하고 뒤돌아 보지 마십시오.


-2
@echo off
:: variables
echo Backing up file
set /P source=Enter source folder:
set /P destination=Enter Destination folder:
set xcopy=xcopy /S/E/V/Q/F/H/I/N
%xcopy% %source% %destination%
echo files will be copy press enter to proceed
pause

2
코드에 대한 설명은이 질문의 답변자뿐만 아니라 동일한 문제에 대한 해결책을 찾기 위해 이것을 우연히 발견하는 미래의 사람들에게 도움이 될 것입니다.
Josh Burgess

3
다른 플래그와 직접 모순되는 여러 플래그가 있습니다. /S빈 디렉토리를 제외한 디렉토리와 서브 디렉토리를 /E복사 하고, 빈 디렉토리를 포함한 디렉토리와 서브 디렉토리 를 복사합니다. /Q복사하는 동안 파일 이름을 표시하지 않고 복사하는 동안 /F전체 소스 및 대상 파일 이름을 표시합니다.
SomethingDark

-2

파일을 임시 폴더에 복사하여 붙여 넣기 위해 .bat 파일을 작성하고 압축하여 smb 마운트 포인트로 전송했습니다.

    @echo off
    if not exist "C:\Temp Backup\" mkdir "C:\Temp Backup_%date:~-4,4%%date:~-10,2%%date:~-7,2%"
    if not exist "C:\Temp Backup_%date:~-4,4%%date:~-10,2%%date:~-7,2%\ZIP" mkdir "C:\Temp Backup_%date:~-4,4%%date:~-10,2%%date:~-7,2%\ZIP"
    if not exist "C:\Temp Backup_%date:~-4,4%%date:~-10,2%%date:~-7,2%\Logs" mkdir "C:\Temp Backup_%date:~-4,4%%date:~-10,2%%date:~-7,2%\Logs"
    xcopy /s/e/q "C:\Source" "C:\Temp Backup_%date:~-4,4%%date:~-10,2%%date:~-7,2%"
   Backup_%date:~-4,4%%date:~-10,2%%date:~-7,2%\Logs"
    "C:\Program Files (x86)\WinRAR\WinRAR.exe" a  "C:\Temp Backup_%date:~-4,4%%date:~-10,2%%date:~-7,2%\ZIP\ZIP_Backup_%date:~-4,4%_%date:~-10,2%_%date:~-7,2%.rar" "C:\Temp Backup_%date:~-4,4%%date:~-10,2%%date:~-7,2%\TELIUM"
    "C:\Program Files (x86)\WinRAR\WinRAR.exe" a  "C:\Temp Backup_%date:~-4,4%%date:~-10,2%%date:~-7,2%\ZIP\ZIP_Backup_Log_%date:~-4,4%_%date:~-10,2%_%date:~-7,2%.rar" "C:\Temp Backup_%date:~-4,4%%date:~-10,2%%date:~-7,2%\Logs"
    NET USE \\IP\IPC$ /u:IP\username password
    ROBOCOPY "C:\Temp Backup_%date:~-4,4%%date:~-10,2%%date:~-7,2%\ZIP"  "\\IP\Backup Folder" /z /MIR /unilog+:"C:\backup_log_%date:~-4,4%%date:~-10,2%%date:~-7,2%.log"
    NET USE \\172.20.10.103\IPC$ /D
    RMDIR /S /Q "C:\Temp Backup_%date:~-4,4%%date:~-10,2%%date:~-7,2%"
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.