
Я хотел бы следить за папкой и каждый раз, когда создается файл с определенным именем или если он просто существует, я хотел бы удалить его. Я хотел бы сохранить все, что есть в 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. Его можно использовать для мониторинга папки или папок, а также можно модифицировать для выполнения любых действий при возникновении этих событий.
... но то же самое сказал и сеньор CMasMas. Не принимайте такие решения наугад без плана и уведомления.
Кроме того, это также говорит о том, что вы новичок в PowerShell в целом.
Итак, вам действительно абсолютно необходимо сначала нарастить его, you tube ваш друг для этого. Никогда не совершайте разрушительных действий с подходом, который вы не полностью понимаете. Никогда не запускайте чей-либо код наугад, независимо от того, кто вам его дал или откуда вы его взяли, если вы полностью не понимаете последствий его использования. Вы можете разрушить свою систему и/или среду, если не будете осторожны.