我是一名使用PowerShell 3的用户。需要监控文件夹,如果有任何图像文件,则将它们移动到另一个文件夹中。
以下是我的代码,我测试过了,但它并没有起作用。我无法确定需要修复哪些问题。
以下是我的代码,我测试过了,但它并没有起作用。我无法确定需要修复哪些问题。
#<BEGIN_SCRIPT>#
#<Set Path to be monitored>#
$searchPath = "F:\download\temp"
$torrentFolderPath = "Z:\"
#<Set Watch routine>#
$watcher = New-Object System.IO.FileSystemWatcher
$watcher.Path = $searchPath
$watcher.IncludeSubdirectories = $false
$watcher.EnableRaisingEvents = $true
$created = Register-ObjectEvent $watcher "Created" -Action {
Copy-Item -Path $searchPath -Filter *.jpg -Destination $torrentFolderPath –Recurse
}
#<END_SCRIPT>#
更新:
我已经部分解决了问题,但仍有一个问题。我们从一个空文件夹开始,我将一张图片(1.jpg)下载到文件夹中,没有东西被移动到Z驱动器。然后我再下载另一张图片(2.jpg)到该文件夹中,现在1.jpg会被移动到Z驱动器。似乎新创建的文件不会被移动。
$folder = "F:\\download\\temp"
$dest = "Z:\\"
$filter = "*.jpg"
$fsw = new-object System.IO.FileSystemWatcher $folder, $filter -Property @{
IncludeSubDirectories=$false
NotifyFilter = [System.IO.NotifyFilters]'FileName, LastWrite'
}
$onCreated = Register-ObjectEvent $fsw Created -SourceIdentifier FileCreated -Action {
Move-Item -Path F:\download\temp\*.jpg Z:\
}