Para crear la apliación se ha utilizado MS Visual Studio 2010 con el lenguaje Visual Basic .NET
Creación de una apliación de consola con Visual Studio 2010
Abrimos MS Visual Studio 2010 y creamos un nuevo proyecto Windows, seleccionaremos la plantillaAplicación de consola.
Para usar la clase FileSystemWatcher debemos importar el espacio de nombres System.IO (Imports System.IO) ó bien declarar el namespace completo (Dim Vigilante As New System.IO.FileSystemWatcher())
El código completo es:
Imports System.IO Module Module1 Sub Main() ' Mostrar en consola el comienzo de la aplicaciónb Console.WriteLine("Comienza la monitorización") MonitorizarCarpeta() ' Dejamos la aplicación abierta hasta que se cierre la consola Console.WriteLine("Para salir pulsar q + Intro") While Chr(Console.Read()) <> "q"c End While End Sub Public Sub MonitorizarCarpeta() ' Definir variables Dim Vigilante As New FileSystemWatcher() ' Ruta que vigilaremos Dim RutaVigilar As String = "C:\Tmp\" ' Ruta a monitorizar Vigilante.Path = RutaVigilar ' Establece el tamaño (en bytes) del búfer interno para controlar ' la entrada masiva de documentos, ' ver http://msdn.microsoft.com/es-es/library/system.io.filesystemwatcher.internalbuffersize.aspx Vigilante.InternalBufferSize = 8192 ' Inclusion de monitorizacion en Subdirectorios Vigilante.IncludeSubdirectories = True ' Filtro de monitorización, ' Solo realizaremos acciones sobre archivos pdf Vigilante.Filter = ("*.pdf") Vigilante.NotifyFilter = (NotifyFilters.FileName) ' Monitorizar la creación de archivos AddHandler Vigilante.Created, AddressOf OnChanged ' Otros eventos que se pueden monitorizar ' AddHandler Vigilante.Changed, AddressOf OnChanged ' AddHandler Vigilante.Deleted, AddressOf OnChanged ' AddHandler Vigilante.Renamed, AddressOf OnRenamed ' Esta opción se utiliza en procesos asincrónicos ' para notificar a la aplicación que un proceso ha terminado Vigilante.EnableRaisingEvents = True End Sub Private Sub OnChanged(ByVal source As Object, ByVal e As FileSystemEventArgs) ' Definir variables Dim RutaDestino As String ' Destino de los archivos Dim ArchivoOrigen As String Dim ArchivoDestino As String ' Establecer valor a las variables ArchivoOrigen = e.FullPath.ToString RutaDestino = "C:\ElFosoDelSarlacc\" ' terminado en \ ArchivoDestino = RutaDestino & e.Name ' Se pausa la ejecución de la aplicación 500 ms para que no se colapse System.Threading.Thread.Sleep(500) ' Movemos los archivos desde la ruta origen (RutaVigilas) a la ruta destino ' Se usa FileSystem.MoveFile del namespace Microsoft.VisualBasic.FileIO Microsoft.VisualBasic.FileIO.FileSystem.MoveFile (ArchivoOrigen, ArchivoDestino) ' Notificamos en pantalla de la acción Console.WriteLine(ArchivoOrigen & " traspasado con exito a " & ArchivoDestino) End Sub End Module
Compilamos la solución y la ejecutamos. Se abrirá una aplicación de consola en espera de que suceda el evento de creacion de documentos pdf en la carpeta origen. Crearemos ó copiaremos archivos pdf en la rutra origen para observar como se van traspasando a la ruta destino que hemos definido.
No hay comentarios:
Publicar un comentario