Я чувствую, что должен был найти это с помощью простого поиска / поиска в Google, но мне так и не удалось ... В основном такой же, как этот вопрос в AU, но для Windows.

Я хочу найти каталоги, которые имеют файл с именем, включающим (например) 02 или 03 но не имеют файла с именем, включающим 01 . Я бы предпочел хорошую команду CLI, но я открыт для установки чего-либо меньшего, чем Ubuntu (или другой дистрибутив * nix).

Например:

\music\The Irish Roves\Hardstuff\
    01 - All Sing Together.mp3
    02 - Paddy On The Turnpike.mp3
    ...
    \\shouldn't match that folder
\music\Garth Brooks\Ropin' The Wind\
   03 - What She's DOing Now.mp3
   \\but should match this one

1 ответ1

1

Разобрался, как это сделать.

Требуется бесплатная программа Microsoft Powershell. Просто установите это, и тогда команда:

Cmd:

$a = gci path/to/look/at -r | ? {$_.PSIsContainer -eq $True} | ? {$_.GetFiles().Count -ne 0} 
$a = $a | ? {Test-Path($_.fullname+"\*02*")}  | ? {(Test-Path($_.fullname+"\*01*")) -eq $False} 
$a | select FullName

Вы также можете сделать это как вкладчик, но написали его многострочно для более удобного чтения здесь.

Этот cmd также использует несколько ярлыков; gci = Get-ChildItem и ? = Where-Object и select = SelectObject .

Спасибо arielnmz за указание в правильном направлении

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .