
Error al Copiar carpetas con sus subcarpetas a otro directorio
Publicado por Diego (5 intervenciones) el 13/01/2015 20:40:21
hola, necesito su ayuda porfavor..
estoy tratando de copiar una carpeta con sus subcarpetas a otro directorio en vb.net 2003
al principio copia las primeras carpetas, pero despues sale error de permiso( lo raro que desde fuera de la aplicacion, al hacer una copia normal, copia sin ningun problema)
mensaje de error:
An unhandled exception of type 'System.Security.SecurityException' occurred in microsoft.visualbasic.dll
Additional information: Exception from HRESULT: 0x800A0046 (CTL_E_PERMISSIONDENIED).
ese es el codigo:
donde txtOrigen es la ruta de origen y el txtDestino es la ruta de destino
en la imagen se ve, en el listbox1 sale las carpetas que se encuentran en el directorio de txtOrigen (D:\Practica)Reemplace este texto
Reemplace este texto
dato-->el programa lo que hace es copiar todo, pero algunas estan vacias, por eso puse el exists.. para que salte

estoy tratando de copiar una carpeta con sus subcarpetas a otro directorio en vb.net 2003
al principio copia las primeras carpetas, pero despues sale error de permiso( lo raro que desde fuera de la aplicacion, al hacer una copia normal, copia sin ningun problema)
mensaje de error:
An unhandled exception of type 'System.Security.SecurityException' occurred in microsoft.visualbasic.dll
Additional information: Exception from HRESULT: 0x800A0046 (CTL_E_PERMISSIONDENIED).
ese es el codigo:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
Dim CadenaFiles2 As String
Dim PathOrigen2 As String
Dim Directorio2 As String
Dim x As Integer
txtOrigen.Text = FolderBrowserDialog1.SelectedPath
For x = 0 To ListBox1.Items.Count() - 1
PathOrigen2 = txtOrigen.Text.Trim & "\" & ListBox1.Items(x)
Dim InfoDirectorio As New IO.DirectoryInfo(PathOrigen2)
Dim InfoDirectory As IO.DirectoryInfo
For Each InfoDirectory In InfoDirectorio.GetDirectories()
Directorio2 = Trim(InfoDirectory.Name)
Dim FileToCopy As String
Dim NewCopy As String
Dim exists As Boolean '''''''''''''''''''''''''''''''''''''''''''
Try '''''''''''''''''''''''''''''''''''''''''''''''''''''''
exists = System.IO.Directory.Exists(PathOrigen2 & "\" & Directorio2 & "\sitio\web") ''''''''''''''''''''''
If exists Then ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
FileToCopy = PathOrigen2 & "\" & Directorio2 & "\sitio\web"
NewCopy = (txtDestino.Text.Trim)
Dim Obj_Fso As Object
Obj_Fso = CreateObject("Scripting.FileSystemObject")
Obj_Fso.CopyFolder(FileToCopy, NewCopy)
Obj_Fso = Nothing
Else '''''''''''''''''''''''''''''''''
MsgBox("la carpeta: " & "\" & Directorio2 & "\" & " no contiene la ruta sitio\web\bin\") ''''''''''''''''''''''''''''''''''''
End If '''''''''''''''''''''''''''''''''
Finally
End Try
Next
Next x
MsgBox("Carpetas Copiado con exito")
donde txtOrigen es la ruta de origen y el txtDestino es la ruta de destino
en la imagen se ve, en el listbox1 sale las carpetas que se encuentran en el directorio de txtOrigen (D:\Practica)Reemplace este texto
Reemplace este texto
dato-->el programa lo que hace es copiar todo, pero algunas estan vacias, por eso puse el exists.. para que salte

Valora esta pregunta


0