Скрипт Powershell для открытия случайного видео
Я искал способ открыть случайный видеофайл в моей папке, содержащей около 400 видео (20 видео в 20 подпапках).
Я нашел скрипт powershell и сумел его запустить, но каждый раз, когда я запускаю его, у меня уходит около 12 секунд, чтобы открыть какой-нибудь файл, не могли бы вы придумать какой-нибудь способ сделать его быстрее?
Мой сценарий random.ps1 выглядит следующим образом:
$formats = @("*.avi","*.mkv")
$dir = Split-Path $MyInvocation.MyCommand.Path
gci "$dir\*" -include $formats -recurse | Get-Random -Count 1 | Invoke-Item
Спасибо за помощь
1 ответ
Это медленно, потому что сценарий должен найти все имена всех видео, прежде чем он может выбрать случайное. Поиск всех этих файлов занимает время. Я не могу придумать простой способ обойти это.
Однако вы могли бы сделать пару скриптов. Первый создает список видеофайлов и помещает его в файл ("videos.txt"):
$formats = @("*.avi","*.mkv")
$dir = Split-Path $MyInvocation.MyCommand.Path
gci "$dir\*" -include $formats -recurse | Set-Content .\videos.txt
И второй скрипт выбирает файл из videos.txt и воспроизводит его:
Get-Content .\videos.txt | Get-Random -Count 1 | Invoke-Item
Первый скрипт медленный, но второй быстрый. Возможно, вы могли бы вызвать первый скрипт из планировщика заданий Windows, чтобы videos.txt был обновлен.