답변:
xcopy.exe
여기에 해결책이 있습니다. Windows에 내장되어 있습니다.
xcopy /s c:\Folder1 d:\Folder2
http://www.computerhope.com/xcopyhlp.htm 에서 더 많은 옵션을 찾을 수 있습니다 .
xcopy
파일 이름이 254 자보다 길면 더 이상 사용되지 않으며 '메모리 부족'오류가 발생합니다. robocopy
대신 사용하십시오 : robocopy C:\Folder1 D:\Folder2 /COPYALL /E
en.wikipedia.org/wiki/Robocopy
Robocopy가 있다면
robocopy C:\Folder1 D:\Folder2 /COPYALL /E
그렇지 않으면,
xcopy /e /v C:\Folder1 D:\Folder2
"C:\My Folder\"
당신이 불쾌한 놀라움을받을 수 있습니다. SS64 페이지를주의 깊게 읽는 것이 좋습니다. "CMD의 이스케이프 문자"토끼 구멍을 완전히 살펴 보려면 배치 스크립트에서 큰 따옴표 이스케이프를 참조하십시오 .
xcopy 사용을 제안하는 많은 답변이 있습니다. 그러나 이것은 불필요합니다. 이 질문에서 저자는 폴더 자체를 복사하지 않고 폴더의 콘텐츠를 원한다는 것을 분명히 언급합니다.
copy "C:\Folder1" *.* "D:\Folder2"
xcopy
하위 디렉토리가 있으면 모두 사용할 수 있습니다.C:\Folder1
md D:\Folder2
copy
명령 (Windows 10 명령 프롬프트)에 구문이 잘못되었다고 알려줍니다. 다음은 올바른 구문입니다.copy "C:\Folder1\*.*" "D:\Folder2"
RoboCopy는 저에게 효과적이지 않았으며 여기에는 좋은 해결책이 있지만 XCopy 스위치와 그 기능에 대해서는 설명하지 않았습니다. 또한 경로에 공백이있는 경우 따옴표가 필요합니다.
xcopy / i / e "C : \ temp \ 폴더 1" "C : \ temp \ 폴더 2"
다음은 Microsoft의 설명서입니다.
/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)
@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
참고로 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%
그리고 그것은 사람들입니다!
예약 된 작업에 추가하고 뒤돌아 보지 마십시오.
@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
/S
빈 디렉토리를 제외한 디렉토리와 서브 디렉토리를 /E
복사 하고, 빈 디렉토리를 포함한 디렉토리와 서브 디렉토리 를 복사합니다. /Q
복사하는 동안 파일 이름을 표시하지 않고 복사하는 동안 /F
전체 소스 및 대상 파일 이름을 표시합니다.
파일을 임시 폴더에 복사하여 붙여 넣기 위해 .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%"