Поиск Windows может найти что угодно на вашем диске Windows. Если вам достаточно нравится эта функция, вы можете расширить поиск на другие диски в вашей системе. Есть другие приложения / утилиты, которые вы можете установить, если обнаружите, что поиск Windows не так эффективен, или вы можете искать файлы и папки из командной строки. Вот как.
Поиск файлов и папок из командной строки
Командная строка может искать файлы и папки на определенном диске или в определенной папке. По умолчанию, если вы запускаете его с правами обычного пользователя, он открывается в вашей пользовательской папке, и вы можете или не хотите выполнять поиск в этой конкретной папке. Вот почему вам нужно знать, как переместить командную строку в другое место.
Если вы хотите выполнить поиск на других дисках без окна, вам нужно сначала переключиться на него с помощью следующей команды;
Чтобы перейти в другую папку, используйте команду ниже. Кавычки необходимы только в том случае, если у вас есть папки, в именах которых есть пробел в пути, который вы вводите, но лучше не добавлять их в привычку.
Искать файлы по типу
Следующая команда позволяет вам искать в текущей папке все файлы определенного типа.
dir /b/s *.file_extension
dir /b/s *.png
Приведенная выше команда будет искать все файлы PNG в текущем каталоге и его подпапках. Параметр / s указывает команде включать подпапки, а параметр / b отображает файлы без включения метаданных, что упрощает чтение списка.
Искать файлы по имени
Для поиска файлов по имени используйте следующую команду;
dir *file_name*.* /s
dir *arrow*.* /s
Вышеупомянутая команда будет искать все файлы, которые соответствуют введенному вами имени файла, независимо от типа файла. Если вы хотите сузить поиск по типу файла, введите расширение файла после точки.
dir *arrow*.jpg /s
Искать папки
Чтобы найти в папке подпапки, используйте следующую команду;
dir “Name of folder to search” /AD /b /s
dir Images /AD /b /s
Помните, что приведенная выше команда будет искать подкаталоги в указанной вами папке. Если вы хотите выполнить поиск в другой папке, используйте команду cd, чтобы переместиться туда, где находится папка, а затем выполните команду.
Искать папку с неизвестным именем
Если вы не знаете, как называется папка, вы можете использовать следующую команду.
dir /s/b /A:D “D:*partial-name-of-folder*”
dir /s/b /A:D “D:*Stea*”
Поиск Windows может найти что угодно на вашем диске Windows. Если вам достаточно нравится эта функция, вы можете расширить поиск на другие диски в вашей системе. Есть другие приложения / утилиты, которые вы можете установить, если обнаружите, что поиск Windows не так эффективен, или если вы можете искать файлы и папки из командной строки. Вот как.
Командная строка может искать файлы и папки на определенном диске или в определенной папке. По умолчанию, если вы запускаете его с правами обычного пользователя, он открывается в вашей пользовательской папке, и вы можете или не хотите выполнять поиск в этой конкретной папке. Вот почему вам нужно знать, как переместить командную строку в другое место.
Чтобы перейти в другую папку, используйте команду ниже. Кавычки необходимы только в том случае, если у вас есть папки, в именах которых есть пробел в пути, который вы вводите, но лучше не добавлять их в привычку.
Приведенная выше команда будет искать все файлы PNG в текущем каталоге и его подпапках. Параметр / s указывает команде включать подпапки, а параметр / b отображает файлы без включения метаданных, что упрощает чтение списка.
Вышеупомянутая команда будет искать все файлы, которые соответствуют введенному вами имени файла, независимо от типа файла. Если вы хотите сузить поиск по типу файла, введите расширение файла после точки.
Помните, что приведенная выше команда будет искать подкаталоги в указанной вами папке. Если вы хотите выполнить поиск в другой папке, используйте команду cd, чтобы переместиться туда, где находится папка, а затем выполните команду.
Как только вы научитесь ориентироваться в каталогах в Windows 10, следующим шагом будет изучение того, как находить и открывать файлы с помощью командной строки. Это так же просто, как перемещаться по файлу и открывать его в проводнике. Вот как это делается.
Сначала откройте командную строку на своем ПК, набрав «cmd» в строке поиска Windows, а затем выбрав «Командная строка» в результатах поиска.
С открытой командной строкой вы готовы найти и открыть свой файл.
Найти файлы с помощью командной строки
Возможно, вы уже знаете путь к файлу, который хотите открыть, а может и нет. Если нет, вам не нужно искать в проводнике, просто чтобы вернуться к командной строке позже. Вы можете использовать эту команду вместо:
dir “search term*” /s
Просто замените «поисковый термин», конечно, фактическим поисковым термином. Итак, если бы мы хотели найти наш файл с именем «Пример файла», мы бы использовали эту команду:
dir “example file*” /s
Командная строка теперь будет искать и находить все экземпляры введенного вами поискового запроса. Он
покажет вам путь к файлу и
даст вам имя и расширение файла.
Теперь, когда мы нашли наш файл, давайте откроем его.
СВЯЗАННЫЕ С: Как использовать Проводник без мыши в Windows 10
Открывать файлы с помощью командной строки
Чтобы открыть файл, вам нужно перейти в каталог в командной строке, который содержит файл, который вы хотите открыть. В этом примере мы создали папку «Пример» в нашей папке «Документы», поэтому мы отправимся туда.
Как только вы ввели свою команду, нажмите клавишу Enter. Теперь вы будете в этой папке.
Пришло время открыть файл в этой папке. Наш файл называется «Пример файла».
Чтобы открыть файл, введите имя и расширение файла в кавычках. В этом случае:
Теперь файл откроется.
Разница лишь в том, что вы не добавляете команду cd, а весь путь указан в кавычках.
Синтаксис
/S
Рекурсивное выполнение программы forfiles во всех подпапках, аналогично “DIR /S”
Для включения специальных символов в строку команды следует использовать шестнадцатеричный код символа в
формате 0xHH (например, 0x09 для табуляции, 0x22 – двойная кавычка). Перед внутренними командами CMD.exe необходимо ставить “cmd /c”.
/? или -?
Вывод справки по использованию
Замечания по использованию FORFILES
В простых случаях использование FORFILES дает мало преимуществ по сравнению с командой dir.
FORFILES /P C: /S /M *.bat
В следующем примере будут выведены все поддиректории, начиная с определенной в параметре P.
Наиболее часто используемый случай для команды FORFILES- удаление ( реже – копирование, перемещение )
файлов старше определенной даты.
Так же просто решается задача обработки файлов, старше определенного количества дней.
В приведенном выше примере все файлы текущей папки дата создания (изменения) которых больше 30 дней
переносятся в архив.
Как вариант – обработка файлов с текущей датой создания (изменения).
Следующая популярная область применения FORFILES – обработка файлов в зависимости от их размера.
Не бесполезный пример. Позволяет провести аудит диска на предмет наличия “больших” файлов.
И еще один пример – поиск “маленьких” файлов, как вариант – нулевой длины.
В приведенном выше примере использования FORFILES из папок временных файлов Internet Explorer
удаляются файлы нулевой длины.
Если вы пользуетесь этим браузером и редко чистите кэш, то таких ненужных файлов там немало.
На основе предыдущих примеров использования FORFILES без труда можно написать пример очистки
и от “старых” файлов, но корректнее это делать соответствующей оснасткой.
В качестве исполняемой команды допустимо использовать внешний bat файл, которому FORFILES может передавать параметры.
Так, в следующем примере для файлов с текущей датой создания (изменения) вызывается bat файл 1.bat,
которому в качестве параметра передается имя файла. Т. е. 1.bat будет вызван столько раз, сколько найдется
файлов, удовлетворяющих условию.
Несмотря на то, что такое использование может значительно расширять возможности FORFILES,
использовать такой прием следует с осторожностью, так как это может значительно увеличить время обработки.
Несколько экзотический пример использование FORFILES. Просто показать возможности этой команды.
Мы рассмотрели примеры использования FORFILES.
На мой взгляд, несмотря на некоторую необычность параметров,
эта команда стоит того, что бы уделить ей внимание.
Для вопросов, обсуждений, замечаний, предложений и т. п. можете использовать
раздел форума
этого сайта (требуется регистрация).
Новый раздел о средствах командной строки в рамках этого же проекта расположен
здесь
Поиск заданной строки текста в файле или нескольких файлах. После поиска в заданных файлах
команда find выведет на экран все строки из этих файлов, содержащие заданный образец.
Параметры
Выводит все строки, не содержащие строку, заданную параметром строка.
Подсчет строк, содержащих строку, указанную параметром строка, и отображение общего
количества.
Выводит номера строк перед самими строками.
Задает поиск без различия строчных и заглавных букв.
Обязательный параметр. Указывает группу символов, поиск которой будет производиться.
Необходимо заключить параметр строка в кавычки (“строка”).
Задает местоположение и имя файла, в котором будет производиться поиск заданной строки
символов.
Отображение справки в командной строке.
Заметки
Для вывода всех строк из файла Pencil.ad, которые содержат слова «Точилка» служит следующая
команда:
find “Точилка” pencil.ad
Для поиска строки, содержащей текст, указанный в кавычках, необходимо сначала заключить в
кавычки всю строку. Во-вторых, необходимо использовать двойные кавычки для каждых кавычек,
содержащихся в строке. Поиск Документ “”только для дискуссии””. Это не
окончательный отчет.” В Report.doc введите:
find “Документ “”только для дискуссии.”” Это не окончательный отчет.” report.doc
Если поиск требуется провести в нескольких файлах, следует использовать команду find с
командой for. Для поиска файлов с расширением .bat, содержащих строку “PROMPT”, можно
использовать следующую команду:
for %f in (*.bat) do find “PROMPT” %f
Так как команда find проводит поиск, различая строчные и заглавные буквы, а команда
dir выводит результаты заглавными буквами, необходимо задать строку “CPU” заглавными
буквами или использовать ключ /i в команде find.
Другие примеры использования команды find вы так же можете посмотреть в разделе Примеры этого проекта
на странице Анализ результатов работы команды, программы
Поиск образцов текста в файлах с использованием регулярных выражений.
Сравнивает шаблон с началом строки.
Сравнивает шаблон с концом строки.
Использует заданную строку буквально.
Использует строку поиска как регулярное выражение. Команда Findstr интерпретирует
все метасимволы как регулярные выражения, если не используется ключ /l.
Задает поиск файлов в текущем каталоге и его подкаталогах.
Печатает точно совпавшие строки.
Печатает строки, не содержащие совпадений.
Печатает в начале совпавшей строки ее номер.
Печатает только имя файла при обнаружении совпадения.
Печатает смещение перед выводом строки с совпадением.
Пропускает файлы с непечатаемыми символами.
Обработка файлов с автономным атрибутом.
Читает список из заданного файла.
Использует заданный текст как литеральную строку поиска.
Получает строки поиска из заданного файла.
Ищет в списке каталогов, разделенном запятыми.
Задает атрибуты цвета двумя шестнадцатеричными цифрами.
Текст, поиск которого производится в файле, заданном параметром ИмяФайла.
Файл или несколько файлов для поиска.
Для отделения строк поиска друг от друга следует использовать пробелы, кроме тех случаев,
когда задан ключ /c. Для поиска слова “hello” или “there” в файле x.y введите
следующую каманду:
findstr “hello there” x.y
Для поиска словосочетания “hello there” в файле x.y введите следующую каманду:
findstr /c:”hello there” x.y
Для поиска всех слов “Windows” (с первой заглавной буквой W) в файле Proposal.txt может быть
использована следующая команда:
findstr Windows proposal.txt
Для поиска в каждом файле текущего каталога и в файлах всех подкаталогов слова “Windows” без
учета строчных и заглавных букв может быть использована следующая команда:
findstr /s /i Windows *.*
Для поиска всех строк, содержащих слово “FOR”, перед которым идет несколько пробелов (чтобы
найти в программе оператор цикла), с выводом номера каждой строки можно использовать команду:
findstr /b /n /c:” *FOR” *.bas
Если требуется найти несколько разных наборов символов в нескольких файлах, можно создать
текстовый файл, каждая строка которого содержит образец для поиска. Также можно задать точный
список файлов, если поиск будет производиться в текстовых файлах. Для использования файла
Finddata.txt, содержащего образцы для поиска, файла Filelist.txt, содержащего список файлов,
в которых будет производиться поиск, и записи результатов работы программы в файл Results.out
служит следующая команда:
Предположим, необходимо найти каждый файл в текущем каталоге и его подкаталогах, содержащий
слово “computer” без различия строчных и заглавных букв. Для вывода списка таких файлов можно
использовать следующую команду:
Теперь, предположим, требуется найти не только само слово “computer”, но и все другие слова,
начинающиеся с тех же букв, таких как “compliment” и “compete”. Введите следующую команду:
findstr /s /i /m “<comp.*” *.*
Forfiles – консольная утилита Windows для операций с файлами, которая уже присутствует в стандартной поставке в Windows7 и WS2008R2. Позволяет производить поиск по маске иили возрасту и применять действия к найденным файлам.
Например, данная команда найдет и удалит все файлы по маске *.log старше месяца:
Можно сохранить как батник и запихать в крон планировщик задач.
Пара примеров: Удалить файлы в каталогах по маске .svn по пути D:project, оставив сами каталоги:
Удалить непустые каталоги по маске .svn со всем содержимым:
Справка по использованию:
Если выдает такую ошибку (для разных языков):
ОШИБКА: Неправильный параметр или аргумент – ‘/С’.
ERROR: Invalid syntax. Value expected for ‘/C’.
Значит параметр /C не срабатывает, помогает замена на -С, как сделано в паре примеров. Как выяснилось, в WS2003R2 (предполагаю что на WXP тоже) срабатывают оба параметра, а в WS2008R2 и W7 только -С.
Привелось удалять логи из каталога c:ProgramDataPath и на выполнение действия для каждого вложенного каталога просил подтверждения. Параметра /f – force для forfiles нет. Пришлось сделать так:
List all files in the current directory & subdirectories
dir /b/s *.txt
The above command searches for all txt file in the directory tree.
But as windows is started naming directories as .nuget,.vscode it also comes with the command above.
In order to avoid this and have a clean list use /a:-d filter as
dir /a:-d /b/s
Before using it just change the directory to root using
There is one more hacky command to do the same
Export result to text file
you can also export the list to a text file using
and search within using
If you are looking for files with special attributes, you can try
List all Hidden Files
dir /a:h-d /b/s
List all System Files
dir /a:s-d /b/s
List all ReadOnly Files
dir /a:r-d /b/s
List all Non Indexed Files
dir /a:i-d /b/s
If you remove the -d from all commands above it will list directories too.
Using where in windows7+:
Although this dir command works since the old dos days but Win7 added something new called Where
where /r c:Windows *.exe *.dll
just wait for the prompt to return and don’t copy anything until then.
Page break with more
If you are searching recursively and the output is big you can always use more to enable paging, it will show — More — at the bottom and will scroll to the next page once you press SPACE or moves line by line on pressing ENTER
I need to find the files in a directory that have specific strings, using Windows CMD prompt.
E.g., I need to find the files that have a string like this:
asked Oct 23, 2014 at 21:17
2 gold badges8 silver badges19 bronze badges
“findstr” iswhat you are looking for.
The basic syntax is findstr “seachString” filename.ext.
You may replace filename.ext with *.ext or *.* to filter cretin file types or look in all files.
This will look only in the current directory and not recursively.
More information about the command findstr documentation
answered Oct 24, 2014 at 0:19
1 silver badge12 bronze badges
The command you require is fundamentally findstr.
at the prompt for directions.
Вам может подойти команда
findstr /m /g:”файл, содержащий вашу строку или строки” *
ответил 24 октября 2014 в 0:23
8 золотых значков62 серебряных значка84 бронзовых значка
Найти некоторую строку во всех текстовых файлах в текущем каталоге:
Проверено в Win 10
ответил 18 мая 2022 г. в 7:00
18 серебряных знаков26 бронзовых знаков
findstr /s /i /m /c:”abc” *docx *.doc
Вы получите список со всеми документами Word, которые содержат текст, включая подпапки.
ответил 26 апр в 12:55
16 серебряных знаков14 бронзовых знаков