PowerShell で フォルダー・ファイルの監視(同期処理)

PowerShellを使って、フォルダの監視を行います。
今回は、監視対象のフォルダにファイルが作成されたことを、同期処理で検出してみます。
 
使用するクラスは System.IO.FileSystemWatcher を使います。

$watcher = New-Object System.IO.FileSystemWatcher              # FileSystemWatcherの作成
$watcher.Path = "E:temp"                                      # 監視対象のフォルダ指定
$watcher.Filter = "*.txt"                                      # フィルター
$watcher.NotifyFilter = [System.IO.NotifyFilters]::FileName    # 監視する種類の列挙体

Write-Host "----- 監視開始 -----"

# 同期処理
$result = $watcher.WaitForChanged([System.IO.WatcherChangeTypes]::Created)

Write-Host $result.Name
Write-Host "----- 監視終了 -----"

 

監視する変更の種類を選択すれば、削除やリネームなども監視できます。

NotifyFilters 列挙体   http://msdn.microsoft.com/ja-jp/library/system.io.notifyfilters.aspx
WatcherChangeTypes 列挙体   http://msdn.microsoft.com/ja-jp/library/t6xf43e0%28VS.80%29.aspx


 

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です