Monitorando uma pasta usando o PowerShell

0

Este script irá monitorar uma pasta, se novas imagens forem criadas, mova-as para a pasta de imagens. Muito simples.

Mas eu tenho parcialmente funcionando. O problema é que apenas imagens antigas são movidas; os recém-criados não.

Eu começo com uma pasta vazia, baixo uma imagem (1.jpg) para a pasta, nada é movido para a unidade Z :. Então eu baixei outra imagem (2.jpg) para essa pasta, apenas 1.jpg é movido para Z: drive; 2.jpg fica onde está. Parece que o recém-criado nunca é movido.

$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
}

Atualização:

Depois de adicionar "Start-Sleep -s 10" antes de mova-item, funciona agora. Mas existe uma solução melhor?

    
por qinking126 13.12.2013 / 15:55

0 respostas

Tags