Этот скрипт будет отслеживать папку, если новые изображения создаются, переместите их в папку изображений. Очень просто.
Но я получил это частично работает. Проблема только в том, что старые изображения перемещаются; недавно созданные не делают.
Я начинаю с пустой папки, загружаю изображение (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
}
Обновить:
После того, как я добавил «Start-Sleep -s 10» перед Move-Item, он теперь работает. Но есть ли лучшее решение?