COMO MONITORAR PASTA COM POWERSHELL
.
Olá, pessoal!
De vez em quando recebo de alunos ou por alguma rede social a seguinte pergunta:
👉 “Como monitorar uma pasta do Windows?”
A resposta é simples, mas não muito intuitiva: usamos a classe FileSystemWatcher.
Essa classe permite disparar eventos quando determinadas condições são atingidas, e, a partir deles, podemos executar ações específicas.
.
Exemplo prático
Vamos monitorar a pasta C:\dvconnect para qualquer tipo de arquivo (também é possível filtrar por extensão). Podemos ainda incluir subdiretórios, se necessário.

.

Um ponto importante é definir a propriedade EnableRaisingEvents como $true. Feito isso, o watcher já estará observando as mudanças no diretório especificado.
Em seguida, usamos o comando Register-ObjectEvent para criar ações específicas de acordo com o evento.
No exemplo abaixo, vamos monitorar o evento Created, que dispara toda vez que um novo arquivo é criado:

.
📑 Nesse script, cada vez que um arquivo for criado, será adicionada uma entrada no arquivo log.csv dentro da pasta c:\pastaslog.

Além do evento Created, também é possível monitorar:
- Changed → quando um arquivo é modificado
- Deleted → quando um arquivo é excluído
- Renamed → quando um arquivo é renomeado
Basta alterar o parâmetro -EventName para o desejado e ajustar a ação dentro do scriptblock.
Caso você queira esse script pronto, deixe nos comentários.
Até a próxima!
