2016-10-11 5 views
0

Ich versuche einige Dateien zu kopieren, die möglicherweise neu in einen Ordner hinzugefügt wurden, nachdem die Datei überwacht und Ereignis generiert wurde. Aber ich habe Problem, diese Dateien in den Ordner, jede Hilfe mit dem unter Skript zu kopieren, um die Variable $ Name zu kopieren. Es könnte ein Loop-Prozess sein, , aber ich konnte einfach nicht wissen, wie man die neuen Dateien kopiert, die dem Ordner hinzugefügt wurden. Code unten ....PowerShell nach FilesystemChecker zum Kopieren der Variablen

$folder = 'C:\RDF' 
$filter = '*.RDF'        
$fsw = New-Object IO.FileSystemWatcher $folder, $filter -Property @{IncludeSubdirectories = $false;NotifyFilter = [IO.NotifyFilters]'FileName'} 

    Register-ObjectEvent $fsw Created -SourceIdentifier FileCreated -Action { 
    $name = $Event.SourceEventArgs.Name 
    $changeType = $Event.SourceEventArgs.ChangeType 
    $timeStamp = $Event.TimeGenerated 
    Write-Host "The file '$name' was $changeType at $timeStamp" -fore green 
    Out-File -FilePath C:\RDF\outlog.txt -Append -InputObject "The file '$name' was $changeType at $timeStamp"} 
    # Copy-Item C:\RDF\$name -destination C:\RDF\Move_temp 
    Copy-Item -Path $Event.SourceEventArgs.FullPath -Destination C:\RDF\Move_temp -Force 

Antwort

0

Es wurde gelöst. Der Kopiercode befindet sich außerhalb der geschweiften Klammern

$folder = 'C:\RDF' 
$filter = '*.RDF' 

# In the following line, you can change 'IncludeSubdirectories to $true if required.       
$fsw = New-Object IO.FileSystemWatcher $folder, $filter -Property @{IncludeSubdirectories = $false;NotifyFilter = [IO.NotifyFilters]'FileName, LastWrite'} 


$targetdirectory = "C:\RDF\Move_temp" 
Register-ObjectEvent $fsw Created -SourceIdentifier FileCreated -Action { 
$name = $Event.SourceEventArgs.Name 
$changeType = $Event.SourceEventArgs.ChangeType 
$timeStamp = $Event.TimeGenerated 
Write-Host "The file '$name' was $changeType at $timeStamp" -fore green 

Out-File -FilePath C:\RDF\output.txt -Append -InputObject "The file '$name' was $changeType at $timeStamp" 

Copy-Item $Event.SourceEventArgs.FullPath -Destination $targetdirectory -Force 

} 
Verwandte Themen