Hay preguntas similares para Linux y Mac , pero estoy buscando una solución de Windows aquí.
El problema es el siguiente: quiero escribir varios archivos de script (js) en una carpeta, y hacer que un programa monitoree esa carpeta para detectar cambios de archivos y agregar nuevos archivos, y ejecutar un comando siempre que eso suceda (para compilarlos todos en uno archivo único).
La solución tiene que:
- Monitoree los cambios de archivos y los nuevos archivos que se agregan, en una carpeta.
- Ejecute un comando solo si hay algún cambio.
Sería mejor si es una solución integrada (como un fragmento de JScript o VBscript), o algo que no requiere instalación.
windows
filesystems
monitoring
Camilo Martin
fuente
fuente
Respuestas:
Hay un programa llamado Belvedere que podría hacer el truco.
http://ca.lifehacker.com/341950/belvedere-automates-your-self+cleaning-pc
Es una aplicación de Windows independiente que se ejecuta en segundo plano.
Lo configuré para monitorear mi carpeta de descargas para archivos con ciertas extensiones con las últimas fechas de modificación de un día de antigüedad. Los archivos que encuentra, los elimina, sin embargo, puede hacer que ejecute una acción.
fuente
"{0}{1}"
en el campo de parámetro, incluidas las comillas). Único problema: no puede definir un comando separado para cada carpeta. Solo uno, globalmente.He tenido buen éxito con un viejo programa llamado Log Monitor. Es antiguo, y hace mucho tiempo abandonado. Pero sirve el propósito bastante bien.
http://www.freeware-guide.com/download/index2.html
fuente
He creado una utilidad simple para este propósito: https://github.com/benblamey/when_changed
uso: when_changed (ruta del archivo) (comando) (parámetros opcionales)
por ejemplo, cuando se cambió C: \ somedir \ foo.txt myapp.exe barra wibble 123
fuente
Con las carpetas de vigilancia .NET, esto es realmente fácil de codificar. Estoy seguro de que alguien ha hecho tal programa.
Acabo de encontrar esta joya para usted http://www.guidingtech.com/9861/automate-folder-actions-windows-watch-4-folder/
fuente
Actualmente estoy probando esta aplicación , que requiere .NET, pero parece que hace el trabajo.
fuente
Este es un requisito tan común que me sorprende que no haya una utilidad conveniente integrada en el sistema operativo.
De todos modos, como se mencionó anteriormente, he usado LogMonitor con éxito en el pasado. Sin embargo, encontré esta publicación de blog informativa y estoy usando Watch 4 Folder ahora.
Espero que esto te ayude.
fuente
Otra herramienta más: https://github.com/yankee42/java-file-change-watcher
Ventajas: Plataforma independiente (Java), pequeña (10KB).
Descargo de responsabilidad: soy el autor
fuente
Si desea hacer una solución integrada utilizando JScript o VBScript, lo que desea buscar es la supervisión del sistema de archivos mediante suscripciones de eventos WMI. Básicamente, usted escribe el código para monitorear una carpeta y realizar acciones de preforma cuando se detecta un cambio como:
__InstanceCreationEvent
__InstanceDeletionEvent
__InstanceModificationEvent
... y su secuencia de comandos se ejecuta en un intervalo para observar estos eventos. Hay muchos recursos, pero aquí hay algunos para VBScript y Powershell:
fuente
NirSoft tiene software para monitorear cambios de archivos en Windows
FolderChangesView
puedes descargarlo gratis desde aquí
Más información
fuente
Puede usar http://jnotify.sourceforge.net/ que se suscribe a eventos de monitoreo del sistema de archivos específicos del sistema operativo. El código tiene años pero aún funciona (al menos en Windows Server 2013r2 lo estaba probando ayer).
También hay github resurrection of jnotify project en https://github.com/redbooth/jnotify que no ofrece una aplicación de demostración independiente pero (de acuerdo con los registros de confirmación) parchea algunos errores.
En java7 debería haber algún tipo de sistema de archivos similar a inotify, pero aún no lo estaba probando.
fuente