
Gostaria de monitorar uma pasta e toda vez que um arquivo com um nome específico for criado, ou se simplesmente existir, gostaria de excluí-lo. Eu gostaria de manter as coisas nativas do Windows 7 para evitar a instalação de outros softwares/pacotes. Acredito que o Powershell junto com o FileSystemWatcher seriam capazes de fazer isso, mas não tenho experiência com nenhum deles.
A aplicação específica é que meu empregador regularmente (~ 90 minutos) faz ping na pasta 'C:\Windows\System32\oobe\info\backgrounds' no meu PC do escritório e adiciona 'backgroundDefault.jpg', com alguns anúncios. Eu gostaria de excluir este arquivo para manter o padrão genérico do Windows. Tentei criar um arquivo chamado 'background1920x1080.jpg', pois entendo que o Windows carregará preferencialmente um arquivo com uma resolução no nome, mas parece que 1920x1080 não é uma dessas resoluções reconhecidas.
Qualquer ajuda é muito apreciada.
Responder1
Você pode usar o File System Watcher para monitorar e executar ações em arquivos e pastas, é algo comum e mostrado nos arquivos de ajuda e em muitos exemplos e scripts pré-construídos em toda a web ...
Pesquisar por: 'observador do sistema de arquivos powershell'
FileSystemWatcherClass https://docs.microsoft.com/en-us/dotnet/api/system.io.filesystemwatcher?view=netframework-4.8
Rastreando alterações em uma pasta usando PowerShell
$FileSystemWatcher = New-Object System.IO.FileSystemWatcher
$FileSystemWatcher | Get-Member -Type Properties, Event
$FileSystemWatcher.Path = "C:\Users\proxb\Desktop\DropBox"
Register-ObjectEvent -InputObject $FileSystemWatcher -EventName Created -Action {
$Object = "{0} was {1} at {2}" -f $Event.SourceEventArgs.FullPath,
$Event.SourceEventArgs.ChangeType,
$Event.TimeGenerated
$WriteHostParams = @{
ForegroundColor = 'Green'
BackgroundColor = 'Black'
Object = $Object
}
Write-Host @WriteHostParams
}
https://mcpmag.com/articles/2015/09/24/changes-to-a-folder-using-powershell.aspx
Usando um FileSystemWatcher do PowerShell http://www.mobzystems.com/code/using-a-filesystemwatcher-from-powershell
… até vídeos sobre o assunto…
https://www.youtube.com/results?search_query=powershell+file+system+watcher
... bem como já na Galeria MS TechNet e MS PowerShell…
Powershell FileSystemWatcher
Este script usa a classe .net FileSystemWatcher para assinar eventos 'criar', 'alterar' e 'excluir' em arquivos ou pastas no sistema de arquivos NTFS. Ele pode ser usado para monitorar uma pasta ou pastas e pode ser modificado para executar qualquer ação após o desencadeamento desses eventos.
... mas idem ao que o Senor CMasMas disse. Não tome esses tipos de decisões aleatoriamente, sem um plano e notificação.
Além disso, isso também indica que você é novo no PowerShell em geral
Então, você realmente precisa acelerar isso primeiro, o you tube é seu amigo para isso. Nunca, jamais, faça ações destrutivas com uma abordagem que você não entende totalmente. Nunca execute aleatoriamente o código de alguém, não importa quem o forneceu ou de onde você o obteve, a menos que você compreenda completamente as ramificações de usá-lo. Você pode destruir seu sistema e/ou ambiente se não tomar cuidado.