そこに座って、ファイルがフォルダーに追加されるのを待つスクリプトを作成しようとしています。検出された場合は、それらを別のフォルダーに移動します。
以下に示すようなコードの記事がオンラインにかなりありますが、一度に複数のファイルをフォルダーに入れると、これらの記事はどれも機能しないようです。
$folder = "d:\Logs\temp"
$filter = "*.xml" # <-- set this according to your requirements
$destination = "d:\Logs\XML\"
$fsw = New-Object IO.FileSystemWatcher $folder, $filter -Property @{
IncludeSubdirectories = $false # <-- set this according to your requirements
NotifyFilter = [IO.NotifyFilters]'FileName, LastWrite'
}
$onCreated = Register-ObjectEvent $fsw Created -SourceIdentifier FileCreated -Action {
$path = $Event.SourceEventArgs.FullPath
$name = $Event.SourceEventArgs.Name
$changeType = $Event.SourceEventArgs.ChangeType
$timeStamp = $Event.TimeGenerated
Write-Host "The file '$name' was $changeType at $timeStamp"
Move-Item $path -Destination $destination -Force -Verbose # Force will overwrite files with same name
}
機能しないだけでなく、完全に行き詰まっているようです。これをどのように行うことができるか、誰にもアイデアがありますか? 私の場合、XML ファイルのバッチ全体が一度にフォルダーに置かれ、順番に処理する必要があります。
ありがとう!