Existem perguntas semelhantes para Linux e Mac , mas estou procurando uma solução para Windows aqui.
O problema é o seguinte: Quero gravar vários arquivos de script (js) em uma pasta e ter um programa que monitore essa pasta para alterações de arquivos e novos arquivos sendo adicionados, e execute um comando sempre que isso acontecer (para compilá-los todos em um só único arquivo).
A solução tem que:
- Monitore as alterações de arquivos e os novos arquivos que estão sendo adicionados em uma pasta.
- Execute um comando apenas se houver alguma alteração.
Seria melhor se fosse uma solução interna (como um trecho JScript ou VBscript) ou algo que não requer instalação.
windows
filesystems
monitoring
Camilo Martin
fonte
fonte
Respostas:
Existe um programa chamado Belvedere que pode fazer o truque.
http://ca.lifehacker.com/341950/belvedere-automates-your-self+cleaning-pc
É um aplicativo do Windows independente que é executado em segundo plano.
Eu o configurei para monitorar minha pasta de downloads em busca de arquivos com determinadas extensões com datas da última modificação de um dia. Os arquivos que ele encontra excluem, mas você pode executar uma ação.
fonte
"{0}{1}"
no campo de parâmetro, incluindo as aspas). Único problema: você não pode definir um comando separado para cada pasta. Apenas um, globalmente.Eu tive um bom sucesso com um programa antigo chamado Log Monitor. É antigo e há muito abandonado. Mas serve muito bem ao propósito.
http://www.freeware-guide.com/download/index2.html
fonte
Eu criei um utilitário simples para esse fim: https://github.com/benblamey/when_changed
use: when_changed (caminho do arquivo) (comando) (parâmetros opcionais)
Por exemplo, quando C: \ somedir \ foo.txt myapp.exe foi alterado na barra 123
fonte
Com as pastas de relógio .NET, isso é realmente fácil de codificar. Tenho certeza que alguém já fez esse programa.
Acabei de encontrar esta jóia para você http://www.guidingtech.com/9861/automate-folder-actions-windows-watch-4-folder/
fonte
Atualmente, estou experimentando este aplicativo , que requer .NET, mas parece que ele faz o trabalho.
fonte
Esse é um requisito tão comum que fico surpreso por não haver um utilitário conveniente incorporado ao próprio sistema operacional.
De qualquer forma, como mencionado anteriormente, eu usei o LogMonitor com sucesso no passado. No entanto, achei este post informativo e estou usando o Watch 4 Folder agora.
Espero que isso ajude você.
fonte
Mais uma ferramenta: https://github.com/yankee42/java-file-change-watcher
Vantagens: Independente da plataforma (Java), pequena (10 KB).
Disclaimer: Eu sou o autor
fonte
Se você deseja criar uma solução interna usando JScript ou VBScript, o que deseja procurar é o monitoramento do sistema de arquivos usando assinaturas de eventos WMI. Basicamente, você escreve o código para monitorar uma pasta e executar as ações quando uma alteração é detectada, como:
__InstanceCreationEvent
__InstanceDeletionEvent
__InstanceModificationEvent
... e seu script é executado em um intervalo, observando a ocorrência desses eventos. Existem muitos recursos, mas aqui estão alguns para VBScript e Powershell:
fonte
NirSoft possui software para monitorar alterações de arquivos no Windows
FolderChangesView
você pode baixá-lo gratuitamente aqui
Mais informações
fonte
Você pode usar http://jnotify.sourceforge.net/, que assina eventos de monitoramento de sistema de arquivos específicos do sistema operacional. O código tem anos, mas ainda funciona (pelo menos no Windows Server 2013r2 eu estava testando ontem).
Também há a ressurreição do projeto jnotify pelo github em https://github.com/redbooth/jnotify, que não oferece aplicativo de demonstração independente, mas (de acordo com os logs de confirmação) corrige alguns bugs.
No java7, deveria haver algum tipo de sistema de arquivos semelhante a inotify, mas eu ainda não estava testando.
fonte