다른 버전의 모든 파일을 사용할 수있는 디렉토리가 있습니다. 처럼,파일 일괄 처리 알고리즘
ABC.pdf ABC_1.pdf .......
XYZ.tif ..... XYZ_25.tif
MNO.tiff
사용 된 요구 사항에 따라 m 개의 파일을 n 번 배치하고 싶습니다.
폴더에 ABC.pdf가 ABC_24.pdf & XYZ.tif ~ XYZ_24.tif 파일로 있다고 가정합니다. 총 50 개의 파일. 각각 25 개의 파일로 이루어진 두 개의 일괄 처리를 만들고 싶습니다. 그래서, 먼저 목록에있는 모든 파일이 정렬되어 있는지 확인한 다음 목록을 두 개의 적절한 일괄 처리로 나눌 논리를 수행 할 수 있어야합니다.
ABC_24.pdf 에2) XYZ.tif XYZ_24.tif
하지만 (26 개 파일이있는 경우 시작에 설명 된대로) 다음은 같은 것까지
1) ABC.pdf
ABC_24.pdf 에1) ABC.pdf
2) XYZ.tif XYZ_24.tif에
3) ABC_2 5.pdf 및 XYZ_25.tif
그래서 여기에 적절한/의미있는 일괄 파일 할당을 원합니다. 가능한 한 적은 수의 라인으로 수행하는 것을 선호합니다. 그래서, 나는 다음과 같이 람다 식 시도 :
List<string> strIPFiles = Directory.GetFiles(folderPath, "*.*").
Where(file => file.ToLower().EndsWith("tiff") || file.ToLower().EndsWith("tif") || file.ToLower().EndsWith("pdf")).ToList();
int batches = 2, filesPerBatch = 25; //for example
내가 사용해야합니까 - strIPFiles.Sort를(); 어쨌든 유용 할 것인가 아니면 항상 정렬 된 파일 목록을 얻을 것인가?
목록에서 배치를 만드는 방법 - 위에서 람다 식을 사용하여 람다 식을 사용합니까?
도움 주셔서 감사합니다.
당신은 항상 정렬 된 순서로 파일을받지 않습니다. 'OrderBy' 확장 메소드를 사용하여 정렬하거나'List.Sort'를 호출 할 수 있습니다. –
"적절"하고 "의미있는"배치 할당을 정의 할 수 있습니까? –
@ zespri, 두 가지 일괄 생성 예제를 확인하십시오. 첫 번째는 25-25이고 두 번째는 25-25-2입니다. 첫 번째 예에서는 총 50 개의 파일이 있습니다. 여기서 ABC & ABC_n (1 <= n <= 24)은 첫 번째 예제 첫 번째 배치에 있습니다. 두 번째 배치에서 XYZ & XYZ_n (1 <= n <= 24)에 대해서도 마찬가지입니다. 두 번째 예 (no. 파일의 52, ABC_25 & XYZ_25 세 번째 배치됩니다. 뜻 깊은 의미는 가능한 경우 서로 다른 버전의 파일을 동일한 배치에 배치하고 가능한 한 많이 그룹화하는 것을 의미합니다 (두 번째 예와 같이). 그것이 지금 이해 될 것이기를 바란다. 감사. – sapatelbaps