Этот скрипт будет отслеживать папку, если новые изображения создаются, переместите их в папку изображений. Очень просто.

Но я получил это частично работает. Проблема только в том, что старые изображения перемещаются; недавно созданные не делают.

Я начинаю с пустой папки, загружаю изображение (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, он теперь работает. Но есть ли лучшее решение?

0