Guten Abend,
ich habe die letzten Tage noch etwas für die Arbeit schreiben sollen: ein Script welches Daten automatisch in einen anderen Pfad kopiert, sobald diese erstellt werden. Nach ein wenig Sucharbeit bin ich über folgende Möglichkeit gestoßen: Über ein FileSystemWatcher Event bestimmte Abläufe auszuführen.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
Write-Host "TXT-Copy" -F Magenta # Error Handling $ErrorActionPreference = "Stop" # Jede Exception ist ein TerminalError trap { Write-Host ("Fehler im Script: {0}" -f $_.Exception.Message) -F White -B Red; continue } # Pfade $srcDir="\PC333tempDaten" $dstDir = "Z:in" # Informationen ausgeben # Write-Host "## Informationen ##" -F DarkGray Write-Host "> Quelle : $srcDir" -F DarkGray Write-Host "> Ziel : $dstDir" -F DarkGray Write-Host # Event / Watcher # $watcher = New-Object System.IO.FileSystemWatcher $watcher.Path = $srcDir $watcher.IncludeSubdirectories = $true $watcher.EnableRaisingEvents = $true # Technisch gesehen Datei entfernen $deleted = Register-ObjectEvent $watcher "Deleted" -Action { Write-Host (Get-Date -F "dd hh:mm:ss")"$($eventArgs.Name)" -F Cyan } $created = Register-ObjectEvent $watcher "Created" -Action { Move-Item -Path ("{0}{1}" -f $srcDir,"*") -Dest $dstDir } Write-Host "Script-Start"(Get-Date -F "dd hh:mm:ss") -F Green Wait-Event Write-Host "Script-Ende" -F Red |