【发布时间】:2015-04-03 10:31:29
【问题描述】:
我刚刚编写了一个小脚本,为我提供了音乐库中所有文件夹的列表,其中不包括 Artist.nfo 或 Album.nfo。
我的文件夹结构是这样的:M:\Genre\Artist\Album
Artist.nfo 应位于 Artist 中,Album.nfo 应位于 Album 文件夹中。
当我分别搜索这两个文件时,我现在正努力在搜索结果中排除另一个 .nfo。
我目前的搜索功能:
#region noArtistnfo
function noArtistnfo
{
[CmdletBinding()]
param ($path)
Get-ChildItem $path -recurse | Where-Object { $_.PSIsContainer -eq $True }`
| Where-Object { $_.GetFiles().name -notcontains "Artist.nfo"}`
| Select-Object FullName | Out-String
}
#endregion noArtistnfo
#region noAlbumnfo
function noAlbumnfo
{
[CmdletBinding()]
param ($path)
Get-ChildItem $path -recurse | Where-Object { $_.PSIsContainer -eq $True }`
| Where-Object { $_.GetFiles().name -notcontains "Album.nfo" } | Select-Object FullName | Out-String
}
#endregion noAlbumnfo
我已经尝试了以下方法,但这并没有给我任何结果:
Get-ChildItem $path -recurse | Where-Object { $_.PSIsContainer -eq $True }`
| Where-Object { $_.GetFiles().name -notcontains "Artist.nfo"}`
| Where-Object { -! $_.GetFiles().name -contains "Album.nfo"}`
| Select-Object FullName | Out-String
我在这里缺少什么? 如果已经存在 .nfo 之一,您能告诉我如何排除这些文件夹吗?
【问题讨论】: