2014-04-16 4 views
1

설명서마다 in the order they are copied에 따라 디렉토리 및 파일 (SD 카드 FAT32 저장)을 나열하는 휴대용 오디오 플레이어가 있습니다. 그게 실제로 무엇입니까 : 한 번에 하나의 파일을 수동으로 복사 할 때 복사 된 순서대로 파일을 표시합니다. 이제 Windows 탐색기와 Unison의 조합을 사용하여 수백 개의 파일을 복사했습니다. 결과적으로 모든 것이 기본적으로 무작위 순서로 표시됩니다. 모든 것을 알파벳 순으로 나열하고 싶습니다. 그래서 C# 코드의 가장 단순한 부분을 알파벳순으로 나열하고 그 안에있는 파일을 찾으려고하고 Directory.SetLastWriteTimeFile.SetLastWriteTime을 사용하여 각각의 시간을 설정합니다. 각 반복마다 2 초씩 증가합니다.파일 복사 시간을 변경하려면 어떤 속성을 설정해야합니까?

GetLastWriteTime을 사용하여 모든 것을 다시 읽으면 타임 스탬프가 업데이트되지만 플레이어는 예상되는 것을 수행하지 않는다는 것을 확인합니다. 디렉토리를 올바르게 정렬하고 일부 파일 (알파벳 순서로 이미 복사 된 파일 일 수도 있음)),하지만 전부는 아닙니다. SetCreationTime을 사용하여 다시 시도했지만 동일한 결과가 나타납니다.

그럼이 파일을 만들려면 어떤 파일 속성을 설정해야합니까? 아니면 FAT 드라이브 자체의 일부 자산입니까? 그리고 어떤 기능을 사용합니까? (결국 평범한 C apis도 괜찮습니다.)

+0

파일 복사 시간이 아닐 것입니다. 기회는 문제를 일으키는 FAT32 파일 테이블에 대한 항목 순서입니다. 당신은 그것을 바꿀 수있는 방법을 찾아야 할 것입니다. 솔직히, 모든 것을 제거하는 것이 더 낫습니다. 파일을 원하는 순서대로 복사하는 작은 C# 응용 프로그램을 작성하는 것이 좋습니다. 15 분짜리 작업이 필요합니다. –

+2

http://fatsort.sourceforge.net/ http://sourceforge.net/p/fatsort/code/HEAD/tree/trunk/src/ –

+1

@ ta.speot.is 당신은 대답을 만들 수 있습니다. 그것을 받아 들일 것이고, 적절한 인터넷 검색을 할 수있게 해줍니다.이 모든 것을 다루는 도구와 유틸리티가 있습니다. – stijn

답변

1

이렇게하면 파일을 재정렬하는 방법을 알아 내기 위해 source code을 연구 할 수 있습니다.

FAT의 내부 구조에 의존하기 때문에 수행하려는 작업이 상당히 복잡하다는 점에 유의하십시오.

+1

참고 저는 아마 http://www.codeproject.com/Articles/95721/FAT- 다소 – stijn