Przenoszenie kilku plików jednocześnie

Przenoszenie kilku plików jednocześnie
NO
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 3
0

Witam,

Chcę za pomocą Visual Basic przenieść kilka plików do innego folderu(wybór plików odbywa się za pomocą OpenFileDialog). Natomiast ścieżka docelowa pochodzi z DirListBox

Mam napisane coś takiego:

Kopiuj
For Each Chosen In OpenFileDialogCutFiles.FileNames
    My.Computer.FileSystem.MoveFile(Chosen, DirListBoxBrowseFolders.Path + "\" + OpenFileDialogCutFiles.SafeFileName)
Next

Jednak przenosi mi się tylko jeden plik a nie wszystkie które zaznaczę w oknie OpenFileDialog. Wypisał bym co tu może być nie tak moim zdaniem ale widział bym tu potencjalnie kilka problemów

Patryk27
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
  • Postów: 13042
0

Spróbuj wykorzystać SafeFileNames zamiast SafeFileName - to Twoje prawdopodobnie zwraca cały czas nazwę pierwszego wybranego pliku, stąd sprawia to wrażenie, że przenoszony jest tylko jeden (choć w rzeczywistości przenoszone są wszystkie, tylko cały czas nadpisywane do jednego pliku wyjściowego).

NO
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 3
0

Przenoszenie kilku ale pod jedną nazwą w twojej wypowiedzi miało by sens.

Próbowałem, wywala błąd:

Kopiuj
Error	BC30452	Operator '+' is not defined for types 'String' and 'String()'.
Patryk27
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
  • Postów: 13042
1

Nie ma tak łatwo - SafeFileNames, podobnie jak FileNames, jest tablicą ;-)

Spróbuj coś takiego:

Kopiuj
MoveFile(Chosen, OpenFileDialogCutFiles.SafeFileNames[OpenFileDialogCutFiles.FileNames.IndexOf(Chosen)]);

(nie programuję w VB, stąd jedynie strzelam, jak może to działać)

NO
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 3
0

Dzięki wielkie Patryk, napisałeś, że to tablice co mi pomogło zrozumieć mój błąd, więc można powiedzieć że udzieliłeś mi odpowiedzi na pytanie. Jeszcze raz dzięki i miłego wieczoru ;)

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.