Foros del Web » Programación para mayores de 30 ;) » .NET »

[SOLUCIONADO] Vb.net Copiar Archivos desde Server

Estas en el tema de Vb.net Copiar Archivos desde Server en el foro de .NET en Foros del Web. 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: ...
  #1 (permalink)  
Antiguo 26/08/2013, 02:50
Avatar de 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
  #2 (permalink)  
Antiguo 08/02/2015, 12:41
 
Fecha de Ingreso: abril-2012
Mensajes: 61
Antigüedad: 12 años
Puntos: 1
Respuesta: Vb.net Copiar Archivos desde Server

Hola... Estoy necesitando algo parecido, de echo tenga casi el mismo codigo, lo que no puedo hacer el correr la barra de progreso cuando la copia es a un host via ftp....

Pudiste solucionarlo ???

gracias

Etiquetas: server
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:57.