使用Powershell中文本文件中的字符串筛选gci结果

使用Powershell中文本文件中的字符串筛选gci结果,powershell,powershell-2.0,Powershell,Powershell 2.0,在把我母亲的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)

在把我母亲的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获得的结果中过滤出来。

将要排除的电影的文件名放在一个文件中(每行一个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