2013-09-13 4 views
1

Я создал сценарий PowerShell для контроля за папкой для новых файлов; он удаляет файлы, содержащие «cmr», и записывает имена файлов, которые содержат «cdr».FileSystemWatcher с PowerShell не работает

Это все работало вчера и сегодня, я решил перезагрузить систему и посмотреть, останется ли событие, но я даже не могу заставить его работать вообще, я не уверен, что произошло.

$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" 
    } 
} 

ответ

2

Вам может понадобиться отменить регистрацию вашего мероприятия, чтобы запустить новый экземпляр:

Разрегистрировать-Event NewCallData

затем запустить его снова

Смежные вопросы