我在 Windows Server 2012 R2 上运行 IIS 8.5。是否可以监视 ftp 帐户,如果上传了某种类型的文件(例如 *.jpg 或 *.png),是否自动启动 powershell 脚本来压缩/优化文件?
谢谢。
编辑。我一直在尝试使用 System.IO.FileSystemWatcher 对象来监视文件夹,然后在给定时间批量优化它们。但我不太喜欢这个想法(请参阅下面的评论)。但这是我目前得到的结果。
监控脚本
$watcher = New-Object System.IO.FileSystemWatcher
$watcher.Path = "C:\WebSites"
$watcher.Filter = "*.jpg"
$watcher.IncludeSubdirectories = $true
$watcher.EnableRaisingEvents = $true
$action = { $path = $Event.SourceEventArgs.FullPath
$changeType = $Event.SourceEventArgs.ChangeType
$logline = "$(Get-Date), $changeType, $path"
Write-Host $path, $changeType
Add-content "C:\Testing\log.txt" -value $path
}
Register-ObjectEvent $watcher "Created" -Action $action
Register-ObjectEvent $watcher "Changed" -Action $action
while ($true) {sleep 5}
然后,该脚本将在给定时间通过任务计划程序运行:
$A = $(foreach ($line in Get-Content "C:\Testing\log.txt")
{$line}) | sort | Get-Unique
Clear-Content "C:\Testing\log.txt"
& 'E:\Program Files\FileOptimizer\FileOptimizer64.exe' $A /JPEGCopyMetadata=false/JPEGUseArithmeticEncoding=false/JPEGAllowLossy=true/ProcessPriority=128/DoNotCreateBackups=true
答案1
为感兴趣的人提供更新。考虑使用文件服务器资源管理器来监控这一点。
提出了另一个问题,但我现在就结束这个问题。