none
PowerShell에서 폴더 변경 체크 RRS feed

답변

  • 안녕하십니까? 김도남 님

    Microsoft TechNet Forum 사이트를 방문해 주셔서 감사합니다.

     

    문의 하신 “PowerShell에서 폴더 변경 체크에 대한 답변을 드리겠습니다.

                

    Step 1 : FileSystemWarcher 클래스 생성

     

    .NET System.IO.FileSystemWatcher 클래스를 Path 경로를 인자로 생성을 합니다.

    $fileSystemWatcher = New-Object System.IO.FileSystemWatcher $home

     

     

    Step 2 : 폴더 변경 이벤트 대기

     

    지정된 시간 만큼 파일 생성 이벤트를 대기를 합니다.

    $result = $fileSystemWatcher.WaitForChanged("created", 10000)

     

     

    Step 3 : Full Script

     

    감시 폴더 경로를 인자로 받는 함수입니다. Folder에 파일이 생성되었을 경우 로그 파일을 생한 후 종료할 때 실행합니다.

     

    function Get-FolderChange

    {

        param(

            [Parameter(Mandatory=$true)]

            $folderpath       

            )

     

        $log = "$env:temp\newfiles.txt"

     

        $timeout = 1000 

     

        $FileSystemWatcher = New-object System.IO.FileSystemWatcher $folderpath

     

     

        

        Write-Host "종료하시기 원하시면 Enter키를 누르시기 바랍니다."

     

        do {

     

            $result = $FileSystemWatcher.WaitForChanged("created", $timeout)

     

     

            if ($result.TimedOut -eq $false) {

     

                '{0} : {1}' -f (Get-Date), $result.Name |

     

                Out-File $log -Append 

     

                Write-Warning ("Detected new file: " + $result.name)    

            }

     

     

        } until ( [System.Console]::KeyAvailable )

     

        

        Write-Host "폴더 감시를 종료합니다."

        

        Invoke-Item $log

     

    }

     

    Get-FolderChange "C:\"

     

     

    참고 자료

     

    New-Object

    http://technet.microsoft.com/en-us/library/dd315334.aspx

     

    FileSystemWatcher 클래스

    http://msdn.microsoft.com/ko-kr/library/system.io.filesystemwatcher(VS.90).aspx

     

    Write-Host

    http://technet.microsoft.com/en-us/library/dd347596.aspx

     

    제가 문제에 대해 더 알아야 할 것이 있다면 응답 주시면 감사하겠습니다.

    제시해 드린 답변이 도움이 되었기를 바랍니다.

    • 답변으로 표시됨 김도남 2011년 10월 28일 금요일 오전 2:39
    2011년 10월 27일 목요일 오전 10:06
    중재자