Ver Mensaje Individual
  #1 (permalink)  
Antiguo 26/08/2013, 02:50
Avatar de freemanworld
freemanworld
 
Fecha de Ingreso: agosto-2008
Mensajes: 191
Antigüedad: 15 años, 8 meses
Puntos: 0
Pregunta Vb.net Copiar Archivos desde Server

Hola a tod@s nuevamente!

Estoy intentando hacer en un form que un programa de la unidad NAS pase a una carpeta.

Tengo el siguiente código:

Código:
Imports System.IO
Public Class ActualizarAgenda
    Dim path As String
    Dim path2 As String
    Dim mediafile As String

    Sub CopiaArchivoConProgreso(ByVal path As String, ByVal path2 As String, ByVal mediafile As String)
        Dim fi As New IO.FileInfo(mediafile)
        Dim sr As New IO.FileStream(path & mediafile, IO.FileMode.Open) 'lugar de origen
        Dim sw As New IO.FileStream(path2 & mediafile, IO.FileMode.Create) 'lugar de destino
        Dim len As Long = sr.Length - 1
        For i As Long = 0 To len
            sw.WriteByte(sr.ReadByte)
            If i Mod 1000 = 0 Then 'Actualiza con cada 1 kb copiado
                ProgressBar1.Value = i * 100 / len
                Application.DoEvents()
            End If
        Next
        ProgressBar1.Value = 0
        sr.Close()
        sw.Close()
        MsgBox("Archivo Movido Correctamente") ' Para avisar de que se ha movido
        Process.Start(path2 & mediafile) ' Ejecuto el programa
    End Sub
   
    Private Sub btnCopy_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCopy.Click
           CopiaArchivoConProgreso(path, path2, mediafile)

    End Sub

    Private Sub ActualizarAgenda_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        path = "G:\Sistemas\App\Agenda\Versiones\"
        path2 = "C:\temp\"
        mediafile = "Agenda.exe"
    End Sub
End Class
La unidad G es la unidad NAS.
He probado lo siguiente con la ruta del NAS:
path = "G:\Sistemas\App\Agenda\Versiones\"
path = "\\192.168.21.26\Compartida\Sistemas\App\Agenda\Ve rsiones\"

La unidad G conlleva \\192.168.21.26\Compartida

El error que me dá es el siguiente:
No se controló IOException
El proceso no puede obtener acceso al archivo 'G:\Sistemas\App\Agenda\Versiones\Agenda.exe' porque está siendo utilizado en otro proceso.

Si lo copio del mismo PC un archivo a otra carpeta me funciona correctamente, solo me da el error si lo cojo de la unidad NAS...
¿Alguna idea?

Muchas Gracias

Editado: He cambiado la ruta el NAS subiendo una carpeta y ha funcionado. Es decir, lo he dejado de la siguiente forma:
G:\Sistemas\App\Agenda\Agenda.exe'

Última edición por freemanworld; 27/08/2013 a las 04:50 Razón: SOLUCIONADO