powershell - 第一个实例后的 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 文件没有被移动。
解决方案
推荐阅读
- c++ - 我需要帮助在此解决方案中使用“==”
- android - RelativeLayout 不占据整个屏幕
- javascript - 使用 js 启用和禁用单选按钮
- node.js - NodeJS SSH2模块数据返回格式不一致
- encryption - 无法使用 OpenSSL 通过 Javascript 解密 AES 加密文件
- php - 复选框数组在提交事件时给出意外值
- azure - Xamarin.Android 无法从 Android 10 Q 中的 Azure 数据库中提取表
- python - 使用 REGEX 提取表达式的内部
- r - 按子组处理 r 中的数据帧:是否可以摆脱“for”循环?
- android - 共享文件 - 找不到新的 Android 10 范围存储限制的解决方案?