我有一个我想看的目录。当任何文件添加到目录时,我想将所有.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文件。