2016-10-11 5 views
0

ファイルが監視され、イベントが生成された後に、フォルダ に新しく追加された可能性のあるファイルをコピーしようとしています。しかし、私は の問題を持っていて、変数$ nameをコピーするスクリプトの下にある スクリプトを使って、フォルダに追加されたファイルをコピーしてしまいます。ループ処理の可能性があります。 しかし、フォルダに追加された新しいファイルをコピーする方法を知りませんでした。 コード...ファイルシステムチェッカーの後のPowerShell

$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 

答えて

0

解決済みです。コピーコードが中括弧の外側にある

$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 

} 
関連する問題