Sim, é possível de várias maneiras, por exemplo com o Power Shell Script :
Existem várias estratégias que você pode usar para monitorar o sistema de arquivos no PowerShell:
-
Crie um novo objeto System.IO.FileSystemWatcher e defina as configurações apropriadas:
$watcher = New-Object System.IO.FileSystemWatcher $watcher.Path = $searchPath $watcher.IncludeSubdirectories = $true $watcher.EnableRaisingEvents = $true
.Path é o caminho que será monitorado, .IncludeSubdirectories diz ao FileSystemWatcher para monitorar todos os subdiretórios do .Path
-
Agora precisamos definir alguns eventos que serão disparados quando o $ watcher detectar uma alteração no sistema de arquivos, definiremos um evento para Alterado, Criado, Excluído e Renomeado:
$changed = Register-ObjectEvent $watcher "Changed" -Action { write-host "Changed: $($eventArgs.FullPath)" } $created = Register-ObjectEvent $watcher "Created" -Action { write-host "Created: $($eventArgs.FullPath)" } $deleted = Register-ObjectEvent $watcher "Deleted" -Action { write-host "Deleted: $($eventArgs.FullPath)" } $renamed = Register-ObjectEvent $watcher "Renamed" -Action { write-host "Renamed: $($eventArgs.FullPath)" }
-
Dentro de cada evento, você pode definir o código para o que você quer que aconteça quando o evento é acionado. Neste exemplo, estou exibindo diretamente o tipo de ação e o caminho completo do objeto alterado no sistema de arquivos.
-
Isso é muito bonito. Esses eventos permanecerão até que você feche sua sessão atual do PowerShell ou cancele manualmente o registro dos eventos. Você pode cancelar o registro dos eventos usando o comando Unregister-Event:
Unregister-Event $changed.Id Unregister-Event $created.Id Unregister-Event $deleted.Id Unregister-Event $renamed.Id