Мониторинг папки и удаление файла, если он существует/создан

Мониторинг папки и удаление файла, если он существует/создан

Я хотел бы следить за папкой и каждый раз, когда создается файл с определенным именем или если он просто существует, я хотел бы удалить его. Я хотел бы сохранить все, что есть в Windows 7, чтобы избежать необходимости устанавливать другое программное обеспечение/пакеты. Я думаю, что Powershell вместе с FileSystemWatcher могли бы это сделать, но у меня нет опыта ни с тем, ни с другим.

Конкретное приложение заключается в том, что мой работодатель регулярно (~90 минут) пингует папку 'C:\Windows\System32\oobe\info\backgrounds' на моем офисном ПК и добавляет 'backgroundDefault.jpg' с некоторой рекламой. Я хотел бы удалить этот файл, чтобы сохранить общий файл Windows по умолчанию. Я попытался создать файл с именем 'background1920x1080.jpg', поскольку я понимаю, что Windows будет предпочтительно загружать файлы с разрешением в имени, но, похоже, 1920x1080 не является одним из этих распознаваемых разрешений.

Буду признателен за любую оказанную помощь.

решение1

Вы можете использовать File System Watcher для мониторинга и выполнения действий с файлами и папками. Это обычная практика, описанная в файлах справки, а также во многих примерах и готовых скриптах по всему Интернету...

Поиск: «Powershell FileSystem Watcher»

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

Отслеживание изменений в папке с помощью 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

Использование FileSystemWatcher из PowerShell http://www.mobzystems.com/code/using-a-filesystemwatcher-from-powershell

…даже видеоролики по теме...

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

... а также уже в MS TechNet и галерее MS PowerShell...

Powershell FileSystemWatcher

Этот скрипт использует класс .net FileSystemWatcher для подписки на события «создание», «изменение» и «удаление» файлов или папок в файловой системе NTFS. Его можно использовать для мониторинга папки или папок, а также можно модифицировать для выполнения любых действий при возникновении этих событий.

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

... но то же самое сказал и сеньор CMasMas. Не принимайте такие решения наугад без плана и уведомления.

Кроме того, это также говорит о том, что вы новичок в PowerShell в целом.

Итак, вам действительно абсолютно необходимо сначала нарастить его, you tube ваш друг для этого. Никогда не совершайте разрушительных действий с подходом, который вы не полностью понимаете. Никогда не запускайте чей-либо код наугад, независимо от того, кто вам его дал или откуда вы его взяли, если вы полностью не понимаете последствий его использования. Вы можете разрушить свою систему и/или среду, если не будете осторожны.

Связанный контент