を使用しFileSystemWatcher
てファイルの変更を通知し、そのファイルのコピーを作成しています。
$watcher = New-Object System.IO.FileSystemWatcher
$watcher.Path = "C:\Orders\"
$watcher.IncludeSubdirectories = $false
$watcher.EnableRaisingEvents = $true
$changed = Register-ObjectEvent $watcher "Changed" -Action {
write-host "Changed: $($eventArgs.FullPath)"
$datestamp = get-date -uformat "%Y%m%d%H%M%S"
write-host $datestamp
copy-item $eventArgs.FullPath "$(watcher.Path)backup-$datestamp"
}
したがって、C:\Orders\orders.xml
が変更された場合は、 をC:\Orders\backup-20131125121004
作成する必要があります。ただし、これは機能せず、エラーも発生しません。通知は機能しますが、コピーは機能しません。
Windows PowerShell
Copyright (C) 2009 Microsoft Corporation. All rights reserved.
PS C:\Documents and Settings\sladministrator\Desktop> .\WatchBizSyncOrders.ps1
PS C:\Documents and Settings\sladministrator\Desktop> Changed: C:\Orders\New Text Document.txt
20131125100821