Как я могу искать файлы в командной строке Windows, используя такие символы подстановки?
C:\Users\*\AppData\Local\*.txt
Как я могу искать файлы в командной строке Windows, используя такие символы подстановки?
C:\Users\*\AppData\Local\*.txt
Windows PowerShell может сделать это легко.
Get-ChildItem C:\Users\*\AppData\Local\*.txt
Если вы хотите включить подпапки:
Get-ChildItem C:\Users\*\AppData\Local\*.txt -recurse
В отношении скрытых (и т.д.) Файлов справка Powershell help Get-ChildItem
гласит:
По умолчанию Get-ChildItem получает не скрытые элементы, но вы можете использовать параметры Directory, File, Hidden, ReadOnly и System, чтобы получить только элементы с этими атрибутами. Чтобы создать сложный поиск атрибутов, используйте параметр Attributes. Если вы используете эти параметры, Get-ChildItem получает только элементы, которые удовлетворяют всем условиям поиска, как если бы параметры были связаны оператором AND.
Любая хорошая оболочка Unix для Windows сделает это.
Например, вот снимок экрана с моей оболочкой Hamilton C, выполняющей ваш пример (извините, совпадений нет) и пару других, которые производят совпадения. Подстановочный знак ...
использованный в третьем примере, соответствует нулю или большему количеству уровней каталогов, независимо от того, соответствует ли остальная часть шаблона.
И вот как вы можете сделать это с Cygwin bash
. Здесь есть несколько отличий, потому что Cygwin следует соглашениям Unix: пути обычно печатаются косой чертой, а обратная косая черта - это escape-символ. Поскольку Unix не понимает буквы дисков, они ввели запись /cydrive/c
для обозначения диска C:
. Как и в Unix, подстановочные знаки чувствительны к регистру. И хотя он поддерживает обычные групповые символы на уровне каталогов, которые вам нужны, он не включает ...
Я добавил в свою раковину. (Вместо этого вы, вероятно, использовали бы find
.)