2011-01-19 5 views
0

표준 Windows 파일 복사 프로세스를 대체하는 파일 복사 유틸리티를 만들려고합니다. 이렇게하는 주된 이유는 복사/이동 대기열 지원을 추가하고 파일 전송이 동일한 대상 실제 미디어를 포함하지 않을 때만 여러 파일 전송을 가능하게하여 어떤 종류의 최적화를 가능하게하는 것입니다 (전체 전송 속도가 동일한 대상 미디어로 여러 번 전송할 수 있습니까?)저장 장치, 파일 전송 및 복사 작업 논리

실제 프로그래밍 경험이 거의 없음을 분명히 밝힙니다. 프로젝트에 C#/.net을 사용하려고합니다.

본질적으로 테라코opy와 비슷한 기능을 만들려고합니다 (동일한 성능 향상이 아닌 경우). 여기

난에 대한 전문가의 조언을 필요로하는 몇 가지 있습니다 :

파일 복사/이동 속도가 저장 매체 (하드 디스크, 플래시 드라이브 등)에 따라 달라집니다 않는 방법

? 하나 개의 하드 디스크에서 다른 작업에

읽기/쓰기 속도. (예를 들어, A에서 B로 하드 디스크 a에서 파일을 복사). 동시에 수행 한 경우 유의하게 서로 영향을 미치지 않을 것이다 동시 복사/이동 작업의 어떤 종류의

, (나는 내가해야 프로세서의 부하 또는 장치 컨트롤러를 고려 ... 여부는 무엇입니까?)?

나는 질문에 대해 명확하게 이해하지 못했을 수도 있으므로 답변을 제공하기 위해 더 자세한 정보가 필요하면 알려 주시기 바랍니다.

감사합니다.

답변

0

외부 호출을 통해 Win API의 일부를 사용하여 C#에서 이와 같은 작업을 수행 할 수 있다고 생각합니다. 아니면 내가 이미 알지 못하는 인터페이스가 이미있을 것입니다. (C#을 처음 사용했을 때부터 2 개월 밖에 사용하지 않았기 때문에). 개인적으로, 나는 성능을 원한다면 Windows Api를 사용하여 C/C++을 만들거나, 좋은 기능과 플랫폼 간 호환성을 원한다면 파이썬을 사용하고 싶습니다. 플랫폼 간 호환성을 제공하는 라이브러리와 표준 win API 함수 위에 레이어를 찾아보십시오.

이 링크가 도움이 올 수 있습니다 http://msdn.microsoft.com/en-us/library/cc148994.aspx

을 또한 바로 가기이 크로스 플랫폼 호환성에 대해 너무 걱정하지 않은 경우, 당신은 배치 경우처럼 OS 특정 명령을 사용하여 시도 할 수 있습니다 예를 들어 foo라는 파일을 C : \에서 D : \로 복사하려면 "복사 C : \ Foo.txt D : \ Foo.txt" 과 같이 입력하십시오. USB 드라이브 나 하드 디스크에 대해 걱정할 필요가 없습니다. d tp know은 복사 할 디렉토리입니다. C/C++에서 "system()"함수를 사용하여 이러한 명령에 액세스 할 수 있습니다. C Sharp에 해당하지 않습니다.

+0

감사합니다. 그러나 어떤 동시 작업이 전송 속도에 영향을 미치지 않는지 알아야합니다. –

+0

솔직히 나는 잘 모른다. 찾아 내기 위해 벤치 마크를 사용할 수 있지만 대부분은 신뢰할 수 없습니다. – ApprenticeHacker