2013-01-11 32 views
0

我是PowerShell的新手。我想在每次更改時向ArrayList添加一個文件路徑。但是,此PowerShell腳本以某種方式失敗。任何提示我可能會做錯什麼?在Powershell中使用ArrayList監控文件

$watcher = New-Object System.IO.FileSystemWatcher 
$watcher.Path = "C:\Mydir" 
$watcher.IncludeSubdirectories = $true 
$watcher.EnableRaisingEvents = $true 

$jobs = New-Object System.Collections.ArrayList 

$changed = Register-ObjectEvent $watcher "Changed" -Action { 
    $changedFile = $($eventArgs.FullPath) 
    $jobs.Add($changedFile) 
} 

回答

1

這是一個範圍問題。添加全局範圍修改器:

$global:jobs.Add($changedFile) 

請參閱about_Scopes以獲取更多幫助。

+0

是否可以給$作業作爲Changed-action的參數? – ajlakanen

+0

嘗試MessageData參數。 –