Я хочу знать, есть ли возможность вызвать службу при изменении папки или файла.
Я нашел SC triggerinfo, но я не знаю, Могу ли я использовать его для этого.
Я хочу знать, есть ли возможность вызвать службу при изменении папки или файла.
Я нашел SC triggerinfo, но я не знаю, Могу ли я использовать его для этого.
Да, это возможно несколькими способами, например С Power Shell Script:
есть несколько стратегий, которые можно использовать для мониторинга файловой системы в PowerShell:
создать новую систему.ИО.FileSystemWatcher объект, и установить соответствующие настройки:
$watcher = New-Object System.IO.FileSystemWatcher
$watcher.Path = $searchPath
$watcher.IncludeSubdirectories = $true
$watcher.EnableRaisingEvents = $true
.Path-это путь, который будет отслеживаться .IncludeSubdirectories рассказывает filesystemwatcher для отслеживания всех поддиректориях .Path
Теперь нам нужно определить некоторые события, которые будут срабатывать, когда $watcher обнаружит изменение файловой системы, я собираюсь определить событие для измененных, созданных, удаленных и переименованных:
$changed = Register-ObjectEvent $watcher "Changed" -Action { write-host "Changed: $($eventArgs.FullPath)" } $created = Register-ObjectEvent $watcher "Created" -Action { write-host "Created: $($eventArgs.FullPath)" } $deleted = Register-ObjectEvent $watcher "Deleted" -Action { write-host "Deleted: $($eventArgs.FullPath)" } $renamed = Register-ObjectEvent $watcher "Renamed" -Action { write-host "Renamed: $($eventArgs.FullPath)" }
В каждом событии вы можете определить код для того, что вы хотите, чтобы произошло, когда событие срабатывает. В этом примере я просто непосредственно выводю тип действия и полный путь измененного объекта на файловая система.
это в значительной степени. Эти события будут сохраняться до закрытия текущего сеанса PowerShell или отмены регистрации событий вручную. Вы можете отменить регистрацию событий с помощью команды Unregister-Event:
Unregister-Event $changed.Id
Unregister-Event $created.Id
Unregister-Event $deleted.Id
Unregister-Event $renamed.Id
Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]