Dieses Skript überwacht einen Ordner. Wenn neue Bilder erstellt werden, verschieben Sie diese in den Bildordner. Sehr einfach.
Aber ich habe es teilweise funktioniert. Das Problem ist nur, dass alte Bilder verschoben werden; neu geschaffene nicht.
Ich beginne mit einem leeren Ordner, lade ein Bild (1.jpg) in den Ordner herunter, nichts wird auf das Z: -Laufwerk verschoben. Dann lade ich ein anderes Bild (2.jpg) in diesen Ordner herunter, nur 1.jpg wird nach Z: Laufwerk verschoben; 2.jpg bleibt wo es ist. Scheint, als ob die neu erstellten nie verschoben werden.
$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
}
Aktualisieren:
Nachdem ich "Start-Sleep -s 10" vor dem Move-Item hinzugefügt habe, funktioniert es jetzt. Aber gibt es eine bessere Lösung?