Fliter результаты gci со строками из текстового файла в Powershell - PullRequest
2 голосов
/ 28 января 2012

После копирования всей библиотеки DVD моей матери в Drobo-FS, которую я настроил для нее, она столкнулась с проблемой, заключавшейся в том, что из-за большого количества вариантов выбора всего одним щелчком мыши сделать выбор было слишком сложно.Моим решением был сценарий Powershell, который начинает проигрывать случайный фильм:

$files = Get-Childitem -Recurse -Path "\\DROBO-FS\Videos\Movies" -include *.mkv,*.avi,*.mp4,*.m4v
$ran = Get-Random -minimum 0 -maximum ($files.length - 1)
$movie = $files[$ran] 
& "C:\Program Files (x86)\MPC-HC\mpc-hc.exe" $movie

Проблема сейчас в том, что там есть несколько фильмов, которые она не хочет показывать в случайном порядке, вещи, которые она смотрит только на определенныхслучаи или просто не нравится.

Моим решением этого будет текстовый файл, в который она может записать названия фильмов, которые ей не нужны, как часть случайного выбора.Моя проблема в том, что я не совсем уверен, как прочитать имена в текстовом файле, а затем отфильтровать их по результатам, полученным от Get-Childitem.

1 Ответ

3 голосов
/ 28 января 2012

Поместите имена файлов фильмов, которые вы хотите исключить, в файл (по одному name.ext на строку) и передайте содержимое файла в параметр Exclude:

$exclude = Get-Content .\exclude.txt
$files = Get-Childitem -Recurse -Path "\\DROBO-FS\Videos\Movies" -Include *.mkv,*.avi,*.mp4,*.m4v -Exclude $exclude
$movie = $files | Get-Random
& "C:\Program Files (x86)\MPC-HC\mpc-hc.exe" $movie.FullName
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...