Cześć,
Mam pewien problem, który chciałem rozwiązać za pomocą programu. Niestety jestem raczej początkujący i troszkę się pogubiłem.
Problem jest następujący. Mam folder, w którym jets określona liczba plików (nie zawsze jest to taka sama liczba). Chciałby, aby program automatycznie poprzenosił je do folderów (nazwy mogą być losowe, obojętnie),, tak, aby w każdym z podfolderów było X plików.. Program miałby działać tak, że użytkownik wskazuje folder, naciska przycisk i to działa. Tę częśc mam.
Poległem natomiast na przeniesieniu określonej liczny plików do tych folderów. Problem polega na tym, że mam pomysł jak mógłbym to zrobić, ale nie wiem jak to napisać. Mam listę plików w tablicy:
string sciezka_z= @"E:\test_folder";
string sciezka_do= @"E:\test_folder\1";
string[] tablica_plikow= Directory.GetFiles(sciezka_z);
Mogę obie wszystko przenieść tak, ale to przenosi wszystko:
foreach (var plik in tablica_plikow){
File.Move(System.IO.Path.Combine(sciezka_z, plik ), System.IO.Path.Combine(sciezka_do, plik ));
}
Próbowałem czegoś takiego.,, ale a każdym razem muszę od nowa odświeżać tabelę plików, co raczej nie jest za dobrym rozwiązaniem (po co robić coś kilka razy to samo)
while (tablica_plikow.Lenght > 0){
foreach (plik in tablica_plikow.Take(50)){
File.Move(System.IO.Path.Combine(sciezka_z, plik ), System.IO.Path.Combine(sciezka_do, plik ));
}
string[] tablica_plikow= Directory.GetFiles(sciezka_z);
Wymyśliłem także, aby wczytać całą tablice do pliku TXT i potem odczytywać linia po linii i to tak przenosić.
łopatologicznie wiem jak to zrobić. Wystarczy wziąć 50 plików , przenieść do folderu i wziąć kolejne itd. Nie wiem jednak jak zrobić taki licznik, który się zresetuje po tych 50 przejściach (pętla for mi przychodzi na myśl) i potem zacznie od kolejnych indeksów. Nie wiem w ogóle, czy myślę w dobrym kierunku.
Dziękuję za pomoc i wyjaśnienia.
pozdrawiam