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

1 ответ1

2

Пытаться:

dir *foobar*

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

Редактировать:

Изначально я предполагал, что вы имеете в виду имена файлов. Мне приходит в голову, что вы можете иметь в виду файлы, которые содержат текст "foobar" в своем потоке данных. Это немного сложнее со встроенными инструментами. Вы можете попробовать команду 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 для поиска с учетом регистра).

Я исключаю из поиска "Скрытые" и "Системные" файлы, потому что FIND вернет "Файл не найден" для них, если вы не удалите атрибут "Скрытый" или "Системный" перед запуском для них FIND. Определенно неудобно ...

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