Я просто написал небольшой скрипт, чтобы дать мне список всех папок в моей музыкальной библиотеке, которые не включают Artist.nfo или Album.nfo.Powershell Where-Object исключая результат
Моя структура папок, как: M: \ Жанр \ Исполнитель \ Альбом
Artist.nfo должен быть расположен в художнике, и Album.nfo в папке альбома.
Поскольку я ищу оба файла отдельно, я теперь изо всех сил стараюсь исключить другой .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
Что я здесь отсутствует? Можете ли вы сказать мне, как исключить папки, если один из них уже присутствует?
да спасибо. Я догадался. это хороший подход. – StUffz