FileSystemWatcher与PowerShell无法正常工作

时间:2013-09-13 14:35:34

标签: powershell filesystemwatcher

我创建了一个PowerShell脚本来监视新文件的文件夹;它删除包含“cmr”的文件,并记录包含“cdr”的文件的名称。

这一切都在昨天和今天工作我决定重新启动,看看事件是否会停留,但我甚至无法让它工作,我不知道发生了什么。

$folder = "C:\Users\home\Documents\calldata"
$filter = '*.*'
Set-Location $folder
$fsw = New-Object IO.FileSystemWatcher $folder, $filter -Property @{IncludeSubdirectories = $false;NotifyFilter = [IO.NotifyFilters]'FileName, LastWrite'}

Register-ObjectEvent $fsw Created -SourceIdentifier NewCallData -Action{
    $name = $Event.SourceEventArgs.Name
    if($name -match "cmr"){
        Write-Host $folder\$name
        Remove-Item $folder\$name
    }
    if($name -match "cdr"){
        Out-File -FilePath C:\MCallPowershell\outlog.txt -Append -InputObject "$name"
    }
}

1 个答案:

答案 0 :(得分:2)

您可能需要取消注册活动才能运行新实例:

取消注册 - 事件NewCallData

然后再次运行