FileSystemWatcher não é acionado por ações da máquina

0

Eu tenho este script que monitora uma pasta para novos arquivos:

$watcher = New-Object System.IO.FileSystemWatcher
$watcher.Path = "C:\source"
$watcher.Filter = "*.xml*"
$watcher.IncludeSubdirectories = $true
$watcher.EnableRaisingEvents = $true  

$action = { $path = $Event.SourceEventArgs.FullPath
            $xml = [xml](get-content $Path)
            $checkpoint = $xml.recognitionevent.checkpoint
            $licenseplate = $xml.recognitionevent.frontlicenseplates.licenseplate.formatted
            If ($licenseplate -eq 9224026)
            {
              If ($checkpoint -eq 1)
              {  
               $write = "7"
              } ElseIf ($checkpoint -eq 2 -or 3)
              {
                $write = "0"
              }
               $com = "com5"
               $baud = "9600"


               $port = $port= new-Object System.IO.Ports.SerialPort $com,$baud,None,8,one
               $port.open()
               $port.write($write)
               $port.close()
            }

            $logline = "$licenseplate, $checkpoint"
            Add-content "C:\Users\bill\Documents\Script\log.txt" -Value $logline
          }    

Register-ObjectEvent $watcher "Created" -Action $action
while ($true) {sleep 1}

funciona muito bem se adicionar um arquivo sozinho, mas quando um programa adiciona os arquivos ele não é acionado. alguma ideia porque?

    
por Haim Bilia 16.03.2018 / 23:45

0 respostas

Tags