如何找到触发 FileSystemWatcher 事件的文件
How to find the file that triggered a FileSystemWatcher event
我正在使用 FileSystemWatcher 检查目标目录中的已更改文件。但是,我似乎无法访问有关触发事件的文件的信息,或者我根本不知道如何访问。
$Action = {
# Output name of trigger file here.
}
$FileSystemWatcher = New-Object System.IO.FileSystemWatcher $TargetDirectory
Register-ObjectEvent -InputObject $FileSystemWatcher -EventName Changed -Action $Action
因为我在多个目标目录中等待事件,所以使用同步等待的替代方案对我来说不是选择。
我是不是做错了什么?
使用此代码时:
$Action = {
# Output name of trigger file here.
Write-Host $Event.SourceEventArgs.FullPath
}
$TargetDirectory = "c:\temp\fsw"
$FileSystemWatcher = New-Object System.IO.FileSystemWatcher $TargetDirectory
Register-ObjectEvent -InputObject $FileSystemWatcher -EventName Changed -Action $Action
我得到了正在更改的文件的完整路径。
我正在使用 FileSystemWatcher 检查目标目录中的已更改文件。但是,我似乎无法访问有关触发事件的文件的信息,或者我根本不知道如何访问。
$Action = {
# Output name of trigger file here.
}
$FileSystemWatcher = New-Object System.IO.FileSystemWatcher $TargetDirectory
Register-ObjectEvent -InputObject $FileSystemWatcher -EventName Changed -Action $Action
因为我在多个目标目录中等待事件,所以使用同步等待的替代方案对我来说不是选择。
我是不是做错了什么?
使用此代码时:
$Action = {
# Output name of trigger file here.
Write-Host $Event.SourceEventArgs.FullPath
}
$TargetDirectory = "c:\temp\fsw"
$FileSystemWatcher = New-Object System.IO.FileSystemWatcher $TargetDirectory
Register-ObjectEvent -InputObject $FileSystemWatcher -EventName Changed -Action $Action
我得到了正在更改的文件的完整路径。