윈 도 우 일반/fso copy에 비해 xcopy가 어떤 장점이 있을까요?
2016.07.01 11:30
vbs에서 쓸 수 있는
file system object(fso)를 이용한 copyfile copyfolder 와
xcopy의 속도를 비교해봤는데요,
xcopy의 속도가 크게 느리더군요.
심하면 fso쪽이 2~3배는 빠름.
xcopy 찾아보면
이거 구리다고(?) robocopy쓰라는데,
xp에서는 robocopy가 없으니 문제고...(물론 설치는 가능하다고 합니다)
robocopy가 가능하면 뭐 좋긴한데,
일단 이건 제쳐두고,
xcopy는 일반/fso copy에 비해 어떤 장점이 있을까요?
저는 당연히 xcopy가 더 빠르고 안전한 줄 알고 쓰려고 했는데, 이게 더 구리다니...
사용목적을 생각하면 특성복사도 별로 관계없고,
exclude를 쓰려고 하니 이상하게 잘 안되고...
(반드시 리스트 써야하고, 리스트 파일,경로명에 스페이스 들어가면 안됨. ㅡㅡ;; 물론 따옴표도 못씀.외국애들도 안된다고 난리..)
저는 그래도 속도 하나보고 속도가 더 빠를줄 알고 테스트 해본건데, 속도마저 느리니 골치네요.
특히 cmd창을 보이게하면 핵노답. ㅡ.ㅡ
cmd창으로 목록을 볼생각도 있었는데...
댓글 [6]
-
갠지스의잔물결 2016.07.01 11:40
-
메리아 2016.07.01 12:23
윈7,8,10 쯤 되면 어떨런지 모르겠습니다만
관련문제로 찾으면서 로보카피 소개를 봤더니,
윈도우 기본복사를 쓰지 말라고 경고하더군요.
윈도우 기본복사가 섹터복사라서 오류가 나도 모르게 된다고...
적어도 XP에서는요. 그 이후 윈도우에 대해서는 가타부타 말이없음.
(근데 로보카피가 윈7부터 기본지원되는걸 생각하면 윈7도 똑같고, 사실 알고보면 전부 똑같을지도...)
그런데 xcopy나 로보카피는 메모리 버퍼를 이용한 복사를 하기 때문에,
오류확률이 줄어들고
robocopy는 실패하면 재시도하고, "미러링"기능으로 동기화가 가능한게 장점이라더군요.
어쨌거나 fastcopy에서 무슨 오류를 겪으셨는지는 모르겠지만,
윈도우 기본 복사가 안전하지는 않다고 봅니다.
참고로 저는 프로그래밍적으로 복사를 처리할 필요가 있어서 fso나 xcopy를 확인하는 중입니다.
일반 유저용도로 복사를 원한다면, teracopy 같은 것도 추천할만합니다.
이것도 메모리 버퍼 복사인데, 복사 후 검증기능이 좋죠.
-
Ancient 2016.07.01 12:27
RichCopy 써보세요
많은 파일을 복사 한다면 여러 파일 동시 복사 하므로 빠를 겁니다.
MS에서 사용하던 겁니다.
https://technet.microsoft.com/en-us/magazine/2009.04.utilityspotlight.aspx
-
메리아 2016.07.01 12:44
이거 명령줄 옵션은 있나요?
지금 필요한게 프로그램에 끼워넣어야하는거라서,
GUI가 뜨는거 까진 좋은데 cmd로 가능한 부분에서 되거나,
아니면 프로그래밍쪽에서 DLL 같은거로 지원이 되면 쓸만할듯 싶은데...
-
Ancient 2016.07.01 13:07
https://www.bobmihada.com/2010/12/microsoft-richcopy-batch-script-example.html
배치파일 샘플 복붙 입니다.
@ECHO OFF
:: Batch script example for Microsoft RichCopy 4.x:: Ref: https://blogs.technet.com/b/ken/archive/2009/04/29/multi-threaded-file-copy-richcopy.aspx#3372805
:: Save as richcopyfolder.bat and go to sleep.
CALL:RICHCOPYFOLDERS "D:\DATA\Source\2010\12\" "\\FileServer\Data\Destination\2010\12"
CALL:RICHCOPYFOLDERS "\\FileServer\Data\Destination\2010\12" "\\FileServerArchive\Data\Destination\2010\12"
GOTO :EOF
:RICHCOPYFOLDERS
SET src=%1
SET dst=%2
SET opt=/NE /NC /QN /TS 256 /SC 10000 /TD 256 /TP 2 /FC 4096
SET rcpath="C:\Program Files (x86)\Microsoft Rich Tools\RichCopy 4.0\RichCopy64.exe"
SET parms=%opt% %src% %dst%
ECHO %rcpath% %parms% >>CopyLog.log
%rcpath% %parms%
GOTO :EOF -
메리아 2016.07.01 13:20
이것도 다양한 옵션이 가능하군요.
감사합니다. ^^
저는 윈도우가 제공하는 복사와 붙여넣기만 사용합니다.
예전에 fastcopy사용 했다가 오류가 나서 크게 고생한적이 있습니다.