Visual Basic - Copiar archivo a unidad USB

Life is soft - evento anual de software empresarial
 
Vista:
Imágen de perfil de Nicolas

Copiar archivo a unidad USB

Publicado por Nicolas (7 intervenciones) el 10/09/2017 22:24:02
Necesitaria si alguien me puede ayudar, les paso a comentar, hice una aplicacion basica en visual studio 2012 y queria saber como hacer esto

]este es el codigo

1
2
3
4
5
6
7
Public Class Form1
 
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        My.Computer.FileSystem.MoveFile("C:\prueba\test.txt", "E:\test.txt")
        My.Computer.FileSystem.RenameFile("E:\test.txt", TextBox1.Text)
    End Sub
End Class

Lo que quiero hacer es que mueva ese archivo a cualquier unidad de USB sin tener que asignarle unidad, ya que las unidades usb van cambiando y luego cambiarle el nombre de la misma manera.

Explico un poco mejor, mi problema es que de la forma que yo le hice el pendrive tiene que estar en E: yo quiero que si enchufo mi pendrive y la pc lo toma en F: envie el archivo de igual manera


Si alguien me puede ayudar con el codigo

Saludos








Captura-de-pantalla-1
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Antoni Masana
Val: 1.259
Plata
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Copiar archivo a unidad USB

Publicado por Antoni Masana (558 intervenciones) el 11/09/2017 07:57:11
Primero tendrias que buscar en que unidad está el PenDrive. Para ello tienes que ir recorriendo las diferentes unidades hasta que lo identifiques:

Por ejemplo:

1
2
3
4
5
6
7
8
9
10
11
12
13
Public Class Form1
 
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Unid_USB=""
        For a=1 to 10
            Unid_USB = Mid$("EFGHIJKLMN" , a, 1) + ":\"
            If Dir(Unid_Usb + "Mi_usb.txt") <> Then Exit For
        Next
        If Len(Unid_Usb) = 0 then MsgBox "No encuantro el PenDrive" : Exit Sub
 
        My.Computer.FileSystem.MoveFile("C:\prueba\test.txt", Unid_USB + TextBox1.Text)
    End Sub
End Class

Este código busca el fichero Mi_USB.TXT en el ROOT del USB identificar el PenDrive.

Si en el MoveFile tienes que especificar el nombre del fichero en el destino, que sea directamente el nombre de destino y te ahorras un paso.

Para volúmenes pequeños un milisegundo más o menos no tiene importancia pero cuando trabajas con un gran volumen de datos si que la tiene y si uno coje la costumbre de optimizar el código a la larga se obtiene mejores programas.

Y si el cambio de nombre no funciona en el MoveFile :

1
2
My.Computer.FileSystem.MoveFile("C:\prueba\test.txt", Unid_USB + "test.txt")
My.Computer.FileSystem.RenameFile(Unid_USB + "test.txt", TextBox1.Text)

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Nicolas

Copiar archivo a unidad USB

Publicado por Nicolas (7 intervenciones) el 14/09/2017 02:11:32
Realmente, soy un novato, como seria si solo quiero moverlo?

Gracias
Seria de mucha ayuda :D
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar