У меня есть скрипт (.ps1
), который отслеживает каталог, и когда файл создается, он должен открыть этот конкретный файл (в данном случае .pdf
).
В каталоге несколько файлов, но он должен открывать только тот, который обнаружен, когда он создается / перемещается в этот каталог во время выполнения скрипта.
Новый файл будет добавляться постоянно, поэтому имя меняется каждый раз. Example1.pdf, Example2.pdf и так далее. Это означает, что мне нужно открыть самый последний файл, независимо от имени.
Прямо сейчас это только мониторинг каталога, потому что я не уверен, как продолжить открывать файл, когда он обнаружен.
Я хотел бы сохранить все в этом единственном сценарии, если это возможно.
(Я не настолько опытен с PowerShell. Howerver, у меня есть опыт работы с cmd/batch. Я пытаюсь перевести на powershell)
Какие-нибудь хорошие методы, чтобы заставить это работать?
Это мой сценарий:
$host.UI.RawUI.WindowTitle = "Watcher"
$watcher = New-Object System.IO.FileSystemWatcher
$watcher.Path = "C:\top_secret_path\test"
$watcher.Filter = "*.*"
$watcher.IncludeSubdirectories = $false
$watcher.EnableRaisingEvents = $false
$action = {
$path = $Event.SourceEventArgs.FullPath
$changeType = $Event.SourceEventArgs.ChangeType
$logline = "$(Get-Date), $changeType, $path"
Add-content "C:\top_secret_path\log.txt" -value $logline
}
Register-ObjectEvent $watcher "Created" -Action $action | Format-Table -AutoSize
while ($true) {sleep 5}