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?
Tags powershell