2015-07-07 4 views
0

Мне нужно создать условие, которое будет перемещать/копировать выбранные несколько файлов из одной папки в другую, я использовал диалог openfile для просмотра файлов и установки его в multiselect, i затем создала метку для каталога и имя файла, которое я использую сейчас, только копирует один выбранный файл, мне нужно сохранить все выбранные файлы одновременно.перемещение/копирование нескольких файлов из одной папки в другую в vb.net

этот код для вставки вложений

Dim a As OpenFileDialog = New OpenFileDialog 
a.Multiselect = True 
    If a.ShowDialog() = Windows.Forms.DialogResult.OK Then 
     removeatt.Show() 
     removeatt.Text = "Remove Attachment" 
     fpath.Text = a.FileName 
     fname.Text = System.IO.Path.GetFileName(a.FileName) 
     Dim file As String 
     file = fpath.Text.ToString 
     Label7.Text = file 
     If fpath.Text = "-" Then 
      removeatt.Hide() 
     Else 
      removeatt.Show() 
     End If 
    End If 

и это для сохранения/копирования части

Dim dir As String 
     Dim dir2 As String 
     dir = System.Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) 
     dir2 = Path.Combine(dir, "Site images and attachments/" & Label33.Text & "/") 
     If Not Directory.Exists(dir2) Then 
      Directory.CreateDirectory(dir2) 
     End If 
If fpath.Text = "-" Then 
     Else 
      My.Computer.FileSystem.CopyFile(fpath.text, dir2 + fname.Text, Microsoft.VisualBasic.FileIO.UIOption.AllDialogs, Microsoft.VisualBasic.FileIO.UICancelOption.DoNothing) 
     End If 

снова, мне это нужно, чтобы сохранить все выбранные файлы

спасибо

ответ

0

в этом коде я покажу вам, как получить все пути к файлам. для сохранения части вам нужно разделить сгенерированный текст и сделать то же самое.

Dim a As OpenFileDialog = New OpenFileDialog 

    Dim fname As String 

    a.Multiselect = True 
    If a.ShowDialog() = Windows.Forms.DialogResult.OK Then 
     removeatt.Show() 
     removeatt.Text = "Remove Attachment" 

     For Each fname In a.FileNames 
      fpath.Text = fpath.Text + IIf(fpath.Text.Trim <> "", "-", "") + fname 
     Next 

     Label7.Text = fpath.Text 

    End If 
+0

спасибо, подумал я любопытное потерял, когда речь идет о спасении , я понятия не имею, как это сделать .. Кроме того, код дает мне путь, который имеет в нем «-», например, -C: \ a.txt-C: \ b.txt-C: \ c.txt - это хорошо ?. а также спасительная часть. – mrkdenz

0

для сохранения части вы можете разделить fpath.text с «-» характер и поместить результат в массив строк, как это:

dim filenames as string() <--- this is how to define string array 
filenames = f.path.text.split("-") 
for each file as string in filenames 
     <----- save file commands   
next 
Смежные вопросы