Monitorear la carpeta y eliminar el archivo si existe/creado

Monitorear la carpeta y eliminar el archivo si existe/creado

Me gustaría monitorear una carpeta y cada vez que se crea un archivo con un nombre específico, o si simplemente existe, me gustaría eliminarlo. Me gustaría mantener las cosas nativas de Windows 7 para evitar tener que instalar otro software/paquetes. Creo que Powershell junto con FileSystemWatcher podrían hacer esto, pero no tengo experiencia con ninguno de los dos.

La aplicación específica es que mi empleador hace ping regularmente (~90 minutos) a la carpeta 'C:\Windows\System32\oobe\info\backgrounds' en la PC de mi oficina y agrega 'backgroundDefault.jpg', con algo de publicidad. Me gustaría eliminar este archivo para mantener el predeterminado genérico de Windows. Intenté crear un archivo llamado 'fondo1920x1080.jpg', según tengo entendido, Windows cargará preferentemente el archivo con una resolución en el nombre, pero parece que 1920x1080 no es una de estas resoluciones reconocidas.

Cualquier ayuda es muy apreciada.

Respuesta1

Puede usar File System Watcher para monitorear y tomar medidas sobre archivos y carpetas, es algo común y se muestra en los archivos de ayuda y en muchos ejemplos y scripts prediseñados en toda la web...

Buscar: 'vigilante del sistema de archivos powershell'

FileSystemWatcherClase https://docs.microsoft.com/en-us/dotnet/api/system.io.filesystemwatcher?view=netframework-4.8

Seguimiento de cambios en una carpeta mediante 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 un FileSystemWatcher de PowerShell http://www.mobzystems.com/code/using-a-filesystemwatcher-from-powershell

… incluso vídeos sobre el tema...

https://www.youtube.com/results?search_query=powershell+file+system+watcher

... así como ya en MS TechNet y MS PowerShell Gallery...

Vigilante del sistema de archivos Powershell

Este script utiliza la clase .net FileSystemWatcher para suscribirse a eventos 'crear', 'cambiar' y 'eliminar' en archivos o carpetas en el sistema de archivos NTFS. Puede usarse para monitorear una carpeta o carpetas y puede modificarse para realizar cualquier acciones ante el desencadenamiento de estos eventos.

https://gallery.technet.microsoft.com/scriptcenter/Powershell-FileSystemWatche-dfd7084b/file/42206/1/FileSystemWatcher.ps1

... pero lo mismo ocurre con lo que dijo el señor CMasMas. No tome este tipo de decisiones al azar sin un plan ni notificación.

Además, esto también indica que eres nuevo en PowerShell en general.

Entonces, es absolutamente necesario que lo intensifiques primero, YouTube es tu amigo para esto. Nunca realices acciones destructivas con un enfoque que no comprendas completamente. Nunca ejecute aleatoriamente el código de nadie, sin importar quién se lo proporcione o de dónde lo obtenga, a menos que comprenda completamente las ramificaciones de su uso. Puede destruir su sistema o su entorno si no tiene cuidado.

información relacionada