1

Я использую 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

1 ответ1

1

Обновление для всех, кто заинтересован. Рассматривая использование Диспетчера ресурсов Файлового сервера, чтобы контролировать это вместо этого.

Поднимает другой вопрос, но я закрою этот сейчас.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .