在PowerShell中使用文本文件中的字符串过滤GCI结果 [英] Fliter results of gci with strings from a textfile in Powershell

查看:13
本文介绍了在PowerShell中使用文本文件中的字符串过滤GCI结果的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在把我母亲所有的DVD库都翻到我为她设置的Drobo-FS之后,她面临着这样一个问题:有这么多选择,只需点击一下鼠标,就会让她很难选择。我的解决方案是一个PowerShell脚本,它开始播放一部随机的电影:

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

现在的问题是,里面有几部她不想随意放映的电影,那些她只在特定场合看过的或根本不喜欢的东西。

我的解决方案是一个文本文件,她可以在其中写入她不想要的电影的名称,作为随机选择的一部分。我的问题是,我不太确定如何读取文本文件中的名称,然后将它们从Get-ChildItem获得的结果中过滤出来。

推荐答案

将要排除的电影的文件名放在一个文件中(每行一个名称.ext),并将文件内容传递给Exclude参数:

$exclude = Get-Content .exclude.txt
$files = Get-Childitem -Recurse -Path "\DROBO-FSVideosMovies" -Include *.mkv,*.avi,*.mp4,*.m4v -Exclude $exclude
$movie = $files | Get-Random
& "C:Program Files (x86)MPC-HCmpc-hc.exe" $movie.FullName

这篇关于在PowerShell中使用文本文件中的字符串过滤GCI结果的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆