Ver Mensaje Individual
  #1 (permalink)  
Antiguo 31/08/2010, 05:40
kurkinova
 
Fecha de Ingreso: agosto-2010
Mensajes: 3
Antigüedad: 13 años, 8 meses
Puntos: 0
Duda excepción TRY CATCH

Hola a todos,

Tengo el siguiente código para un pequeño programa que busca (a partir de un directorio introducido por pantalla), todos los subdirectorios que contenga el tipo de archivo .mul y los mueve a la ruta que tú también le hayas indicado por pantalla. El código es el siguiente:


Module Module1
Dim dir As String
Dim origen1() As String
Dim origentemp As String


Sub Main()
Dim ruta_origen As String
Dim ruta_destino As String
Dim i As Integer

Console.WriteLine("Introduzca ruta del directorio del que se desea hacer la búsqueda (.mul):")
Console.Write("# ")
ruta_origen = Console.ReadLine()
Console.WriteLine("Introduzca ruta del directorio que se creará para copiar los datos:")
Console.Write("# ")
ruta_destino = Console.ReadLine()



For Each foundFile As String In My.Computer.FileSystem.GetFiles(ruta_origen, FileIO.SearchOption.SearchAllSubDirectories, "*.mul")
' Console.WriteLine(foundFile)

i = 0
origentemp = ""
origen1 = foundFile.Split("\")


Do While (Right(origen1(i), 4) = ".mul") = False

If i = 0 Then
origentemp = CStr(origen1(i))
Else
origentemp = (origentemp + "\" + CStr(origen1(i)))
End If

System.Threading.Thread.CurrentThread.Sleep(150)
i = i + 1



Loop

Next


Try
My.Computer.FileSystem.MoveDirectory(origentemp, ruta_destino + "\" + origen1(i - 1), True)
Catch ex As System.IO.DirectoryNotFoundException
Console.Write(origentemp)
Console.WriteLine(" Excepción recogida")


End Try
Console.WriteLine("Copia satisfactoria de directorio/s anteriores!")
Console.ReadKey()
End Sub

End Module


**Y mi problema es el siguiente: Resulta que hay directorios en los que se encuentran mucha cantidad de archivos .mul (unos 200 o así), por tanto me gustaría tener una excepción que una vez que el subdirectorio vea que hay un .mul, ya copie el directorio entero (incluyendo todo lo que tenga dentro) y salte a copiar el siguiente. He probado varias cosas y con el try catch donde debería estar pero no lo consigo. Y evidentemente donde lo tengo ahora (tras el MoveDirectory), una vez que copia un directoria sale del programa.

Alguien puede exarmen una mano????
Muchas gracias