Перечислите все файлы, содержащие определенный термин в данном каталоге

Как я могу перечислить все файлы, содержащие термин "foobar" в данном каталоге под Windows XP?

0
задан 10.08.2012, 01:09

1 ответ

Попытка:

dir *foobar*

Добавьте "/a" аргумент, если Вы хотите видеть файлы со "скрытым" или "системным" набором атрибутов.

Править:

Первоначально, я предположил, что Вы имеете в виду имена файлов. Мне приходит в голову, что Вы могли бы иметь в виду файлы, которые содержат текст "foobar" в их потоке данных. Это - немного более трудные w/встроенные инструменты. Можно попробовать команду FIND, но она не поддерживает Unicode:

@echo off
for /f "usebackq" %%i in (`dir /a-dsh /b`) do (
 for /f "usebackq tokens=3" %%d in (`find /c /i "foobar" %%i`) do if %%d NEQ 0 echo %%i
)

Тот сценарий возвратит названия файлов, которые имеют "foobar" (нечувствительный к регистру - удаляют "/i" из командной строки находки для чувствительного к регистру соответствия) в них.

Я исключаю "Скрытый" и "Системные" файлы от поиска, потому что FIND возвратит "Файл, не найденный" на них, если Вы не удалите "Скрытый" атрибут или "Системный" атрибут перед рабочей НАХОДКОЙ на них. Отчетливо неловкий...

2
ответ дан 24.11.2019, 07:00

Теги

Похожие вопросы