폴더를 모니터링하고 파일이 존재하거나 생성된 경우 삭제합니다.

폴더를 모니터링하고 파일이 존재하거나 생성된 경우 삭제합니다.

폴더를 모니터링해서 특정 이름의 파일이 생성될 때마다 삭제하거나, 단순히 존재한다면 삭제하고 싶습니다. 다른 소프트웨어/패키지를 설치할 필요가 없도록 Windows 7의 기본 기능을 유지하고 싶습니다. FileSystemWatcher와 함께 Powershell을 사용하면 이 작업을 수행할 수 있다고 생각하지만 둘 중 하나에 대한 경험이 없습니다.

구체적인 응용 프로그램은 내 고용주가 내 사무실 PC에 있는 'C:\Windows\System32\oobe\info\Backgrounds' 폴더를 정기적으로(~90분) 핑하고 일부 광고가 포함된 'BackgroundDefault.jpg'를 추가한다는 것입니다. 일반 Windows 기본 파일을 유지하기 위해 이 파일을 삭제하고 싶습니다. Windows에서는 이름에 해상도가 있는 파일을 우선적으로 로드한다는 점을 이해하고 'Background1920x1080.jpg'라는 파일을 생성해 보았지만 1920x1080은 인식되는 해상도 중 하나가 아닌 것 같습니다.

어떤 도움이라도 대단히 감사하겠습니다.

답변1

파일 시스템 감시자를 사용하여 파일과 폴더를 모니터링하고 조치를 취할 수 있습니다. 이는 일반적인 일이며 웹 전체의 도움말 파일과 많은 예제 및 사전 구축된 스크립트에 표시됩니다.

검색: 'powershell 파일 시스템 감시자'

FileSystemWatcher클래스 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

PowerShell에서 FileSystemWatcher 사용 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을 처음 접한다는 의미이기도 합니다.

따라서 먼저 먼저 속도를 높여야 합니다. 튜브는 이를 위한 친구입니다. 완전히 이해하지 못하는 접근 방식으로 파괴적인 행동을 취하지 마십시오. 코드 사용에 따른 결과를 완전히 이해하지 않는 한, 누가 코드를 주었는지, 어디서 얻었는지에 관계없이 다른 사람의 코드를 무작위로 실행하지 마십시오. 주의하지 않으면 시스템이나 환경이 파괴될 수 있습니다.

관련 정보