Как я могу перечислить все файлы, содержащие термин "foobar" в данном каталоге под Windows XP?
1 ответ
Пытаться:
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. Определенно неудобно ...