![使用 PowerShell 监视文件夹](https://linux22.com/image/1389500/%E4%BD%BF%E7%94%A8%20PowerShell%20%E7%9B%91%E8%A7%86%E6%96%87%E4%BB%B6%E5%A4%B9.png)
该脚本将监视一个文件夹,如果创建了新图像,则将其移动到图像文件夹。非常简单。
但我让它部分工作了。问题是只有旧图像被移动了;新创建的图像没有移动。
我从一个空文件夹开始,将一张图片 (1.jpg) 下载到该文件夹,没有任何图片移动到 Z: 驱动器。然后我将另一张图片 (2.jpg) 下载到该文件夹,只有 1.jpg 移动到 Z: 驱动器;2.jpg 保持原位。似乎新创建的图片从未移动过。
$folder = "C:\\Doc\\Files"
$dest = "C:\\Doc\\Files\\images"
$filter = "*.jpg"
$fsw = new-object System.IO.FileSystemWatcher $folder, $filter -Property @{
IncludeSubDirectories=$false
NotifyFilter = [System.IO.NotifyFilters]'FileName, LastWrite'
}
$onCreated = Register-ObjectEvent $fsw Created -SourceIdentifier FileCreated -Action {
Start-Sleep -s 10
Move-Item -Path C:\Doc\Files\*.jpg C:\Doc\Files\images
}
更新:
我在 move-item 前添加“Start-Sleep -s 10”后,现在可以正常工作了。但是有更好的解决方案吗?