首页 > 解决方案 > 第一个实例后的 Powershell FileSystemWatcher 错误

问题描述

我有一个我想看的目录。将任何文件添加到目录时,我想将所有 .csv 文件从该目录移动到另一个目录。(由于其他问题,我不能直接将文件放在其他目录中。)

$watcher = New-Object System.IO.FileSystemWatcher
$watcher.Path = "E:\CreditAdj\cashpost"
$watcher.IncludeSubdirectories = $false
$watcher.EnableRaisingEvents = $true
$Action = {Move-Item E:\CreditAdj\cashpost\*.csv \\server.company.com\cashpost}
$we1 = Register-ObjectEvent $watcher Created -SourceIdentifier 
CashpostCreated -Action $Action

我第一次在该目录中创建文件时,它的行为符合预期。添加到该目录的所有 .csv 文件都将移动到另一个目录。
我执行

$we1 |fl *

并且输出显示没有错误。

我第二次在目录中创建 .csv 文件时,没有任何反应,并且 $we1 |fl * 出现错误

该进程无法访问该文件,因为它正被另一个进程使用。

第三次在目录中创建 .csv 文件时,第二次尝试的 .csv 文件被移动,但新创建的 .csv 文件没有被移动。

标签: powershellfilesystemwatcher

解决方案


推荐阅读