Я использую IIS 8.5 на Windows Server 2012 R2. Можно ли отслеживать учетную запись ftp и если загружен определенный тип файлов EG. * .jpg или * .png, автоматически запускать скрипт powershell для сжатия / оптимизации файла?
Благодарю.
Редактировать. Я играл с Системой.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