Как быстро найти файл в Windows с помощью cmd ?
Приветствую вас, сейчас мы научимся, как найти файл или папку в Windows без помощи неважно работающего проводника системы, и будем использовать для этого либо команды в MS-DOS, либо с помощью его эмулятора – консоли команд cmd. У такого способа есть лишь один недостаток, который связан лишь с беспричинной боязнью пользователей перед текстовым интерфейсом работы с системой и сложившейся привычкой к графическому. Однако, по сути в обоих случаях нам всё равно приходится вручную набирать условия поиска потерявшегося файла или пакета файлов, а здесь без «вседозволенности» консоли просто не обойтись. От команд давно почившей операционной системы MS-DOS не скроется ничего, и cmd способна без труда открыть путь ко всем документам и директориям, которые находятся в чреве Windows .
Что нужно, чтобы найти файл в Windows ?
Нам нужно имя файла и программу, которая его создала либо умеет читать.
Итак, если уверены, что файл просто «потерялся», вам нужно через консоль оказаться в корневой папке системы. Для этого введём пару символов:
cd
и вы там. Если вы точно знаете имя файла или документа, это не проблема даже для поисковика Windows. Но есть ведь задача и посложнее…
А теперь, представьте, что вам нужно найти файл или документ, имя которого вы и толком-то не помните. Допустим, в названии что-то было про «установку». То-ли «установкА», то-ли «установкИ», то-ли «установОК»… Не проблема – так Windows и спросите:
dir *установ*.* /s
где
- dir – команда отобразить список файлов и директорий
- * — что-то там… (ну забыл я, мол)
- . – расширение файла (текстовый, музыка, PDF-ка, фильм и т.п.)
- /s – команда на поиск в текущей директории и подкаталогах.
Результаты через пару мгновений будут выглядеть примерно так:
На этот же манер можно найти файл, если вы знаете, какое расширение он имеет, т.е. какой программой открывается. Командой
dir *.xls /s
или
dir *.docx /s
можно будет найти документы Exel и Word. Присмотритесь к примерам разновидностей команд (вариаций здесь множество):
dir *.txt *.doc
отобразит в одной выдаче документы с расширениями .doc и .txt
dir /p
команда с этим атрибутом (в отличие от /s) поможет. если результатов будет множество, а вам удобнее просматривать их с небольшим интервалом.
dir /on
выдаст список файлов и директорий в алфавитном порядке
dir /s |find "i" |more
отображает все папки и их содержимое, включая время создания, количество файлов в каждой, сколько места занимают.
Успехов
Please try the following commands
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
cd/
There is one more hacky command to do the same
for /r %f in (*) do @echo %f
Note: If you miss the
@echo
part in the command above it will try to execute all the files in the directories, and the/r
is what making it recursive to look deep down to subdirectories.
Export result to text file
you can also export the list to a text file using
dir /b/s *.exe >> filelist.txt
and search within using
type filelist.txt | find /n "filename"
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
will search for exe & dll in the drive c:Windows as suggested by @SPottuit you can also copy the output to the clipboard with
where /r c:Windows *.exe |clip
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
where /r c:Windows *.exe |more
For more help try
where/?
Searching for a file in Windows is not an easy job if your files are not organized and one of the ways to search your files using tags keywords in the Windows Search box inside File Explorer. However, Windows File Explorer search results are not that accurate and it takes a longer time but why wait if you can search files much faster using Windows 10 Command Prompt.
Finding Files Using Windows 10 Command Prompt.
You can search files on your hard drive faster using Windows Command Prompt.
Step 1: Press Start and type CMD, then press Enter to launch the Command Prompt. After successfully launching the Command Prompt, type the below command, and press Enter to pull up a list of files and folders.
dir
Step 2: For moving down into a particular directory, use the below command followed by a folder name, until you reach the folder you want to search.
cd folder_name
Step 3: Now type dir command again but this time with your search term, follow dir with your search term in quotes with an asterisk term before closing the quotes (For example, type dir “Raveling*”) and press Enter. The command prompt will show you the file location along with the list of files name starting with a similar keyword.
The asterisk is what’s known as a wildcard and, in our example, it stands for anything that follows the word ‘highlands’, such as ‘raveling.doc’, ‘raveling.xls’ or My Business plans.txt’.
If you don’t know the exact location of your file in your hard drive, then instead of manually navigating through your directories, start searching from the very top level of your hard drive and include every sub-folder.
Step 4: The top level of the drive is represented by a backslash and, to include subdirectories, you add a forward slash and ‘s’ to the end of the query as shown below:
dir “Raveling*” /s
The above command is my all-time favorite because, with the help of this command, I don’t have to force my brain to remember the location of the files. This trick usually takes seconds to search the entire drive for the file.
You can also search for a particular file type by using a command dir *.pdf /s and it will show you all files saved with the .pdf extension. You can try this for other files too (for example: .doxc, .png, .exe and more).
Note: The position asterisk symbol in the command matter a lot so type carefully and check once before executing the command.
How all these commands work.
Now you know enough to find any file on your entire hard drive within few seconds but if you are more curious to know how all these commands are working and what all these symbols stand for, then continue reading this post.
Let’s discuss each term one by one:
- dir command is for showing files on the current directory, but it can also show files from anywhere in the drive of the system.
- / tells dir to search from the top-level or root directory of the hard drive.
- /s is used for searching sub-directories.
- * asterisk is using before text (for example *.pdf) show all files ending with .pdf and * using at the end (for example raveling*) show you all file-names starting with that word.
So, this is all that you need to know for searching any file quickly within a few seconds using Windows 10 Command Prompt.
Last Updated :
12 Mar, 2021
Like Article
Save Article
В Windows есть некоторые встроенные возможности поиска, но они могут вам не понравиться. Cortana или стандартное поле поиска на панели задач и поле поиска в проводнике файлов в Windows 10 позволяют выполнять поиск по содержимому файлов, но они могут быть медленными, особенно поиск в проводнике.
Существует более быстрый способ поиска содержимого файлов на жестком диске с помощью командной строки. Команда find ищет текстовые строки в файлах и возвращает строки из файлов, в которых была найдена текстовая строка.
ПРИМЕЧАНИЕ. Команда find не подходит для больших файлов или большого количества файлов.
Сегодня мы рассмотрим, как использовать команду find, и приведем несколько примеров.
Откройте окно командной строки с правами администратора
Открытие окна командной строки от имени администратора не требуется. Тем не менее, это поможет вам избежать раздражающих диалоговых окон подтверждения. Просто будьте осторожны, какие команды вы запускаете от имени администратора в командной строке. Использование команды find в качестве администратора безопасно, поскольку она не изменяет и не удаляет файлы.
Введите cmd.exe в поле поиска на панели задач. Затем щелкните правой кнопкой мыши на пункт «Командная строка» и выберите « Запуск от имени администратора» во всплывающем меню.
Если появится диалоговое окно «Контроль учетных записей», нажмите «Да», чтобы продолжить.
ПРИМЕЧАНИЕ. Это диалоговое окно может не отображаться в зависимости от настроек контроля учетных записей. Мы не рекомендуем полностью отключать UAC.
Ключи и параметры для команды find
Большинство команд имеют дополнительные ключи, которые изменяют стандартное действие команды. Вы можете получить справку, чтобы увидеть все доступные ключи для команды find, набрав в строке следующую строку и нажав Enter:
find /?
Ключи могут быть строчными или прописными.
Для параметра «string» вы должны заключить строку в двойные кавычки, иначе команда find не будет работать и вернет ошибку.
Параметр имени диска [drive:] [path] может быть любым, от буквы диска до одного файла или нескольких файлов.
Синтаксис для команды поиска
Синтаксис команды – это особый способ организации команды, ее ключей и параметров. Ниже приведен общий синтаксис команды find.
find [ключи] “строка” [путь]
Ключи могут быть в любом порядке, если они находятся перед параметром «string». Скобки [] указывают, что ключ или параметр является необязательным.
Поиск отдельного документа для текстовой строки
Сначала мы покажем вам, как искать в одном документе все вхождения текстовой строки. Следующая команда ищет в файле example1.txt фразу «groovypost – is the best tech site».
find “groovypost – is the best tech site” “C:UsersLoriDocumentsFindCommandExamplesexample1.txt”
ПРИМЕЧАНИЕ. Если в какой-либо части пути или имени файла есть пробелы, вы должны заключать в кавычки весь путь, как мы делали в приведенной выше команде. Кавычки на самом деле не нужны в этом случае, но они точно не помешают.
Обратите внимание, что фраза не была найдена в приведенном выше примере (ничего не указано под путем к файлу), даже если она находится в файле. Это потому, что случай в «groovypost» не совпадает с тем, что было в файле, то есть «groovyPost». Добавьте ключ «/i » (ignore case) сразу после команды поиска (перед фразой), чтобы игнорировать регистр при поиске текстовой фразы.
find /i “groovypost – is the best tech site” “C:UsersLoriDocumentsFindCommandExamplesexample1.txt”
Теперь фраза найдена, и вся строка, содержащая фразу, выводится на экран под путем к файлу, в котором выполняется поиск.
Поиск нескольких документов по одной и той же текстовой строке
Теперь, когда вы можете искать один файл для текстовой строки, давайте искать несколько файлов для одной и той же строки.
Вы можете указать несколько файлов для поиска в команде поиска, указав путь к каждому файлу в кавычках через пробел.
find /i “groovypost” “C:UsersLoriDocumentsFindCommandExamplesexample1.txt” “C:UsersLoriDocumentsFindCommandExamplesexample2.txt”
Вы также можете искать все текстовые файлы в каталоге, используя подстановочный знак, который является звездочкой (*), как показано в следующей команде.
find /i “groovypost” “C:UsersLoriDocumentsFindCommandExamples*.txt”
Поисковый термин был найден в обоих документах, а предложения, в которых они были найдены, перечислены под полным путем к каждому файлу.
Подсчитать количество строк в файле
Если вы хотите узнать, сколько строк в файле, вы можете использовать комбинацию команд type и find. Команда type отображает содержимое одного или нескольких текстовых файлов.
Мы передали результаты команды type в команду find, используя вертикальную черту (|). Мы использовали ключ «/v» для отображения всех строк, НЕ содержащих строку «», поэтому каждая строка с текстом будет подсчитана. Чтобы отобразить только количество строк в текстовом файле (не сами строки), мы используем ключ «/c».
type C:UsersLoriDocumentsFindCommandExamplesexample1.txt | find “” /v /c
Отправьте вывод другой команды в команду поиска
Вы также можете выполнить поиск определенной строки во всех именах файлов в каталоге, отправив выходные данные команды dir в команду find.
Например, мы получили список каталогов C:UsersLoriDocumentsFindCommandExamples и все подкаталоги в этом каталоге (ключ /s). Мы также указали использовать пустой формат без информации о заголовке (ключей «/b») и отобразили список в том же формате, что и формат широкого списка (ключ «/w»), но отсортированный по столбцу («/d»).
Затем мы направляем (|) вывод команды dir в команду find, добавляя только «example» в качестве параметра. Мы не добавляли никаких ключей в команду поиска. Имена файлов для поиска берутся из вывода команды dir.
dir “C:UsersLoriDocumentsFindCommandExamples” /s /b /d | find “example”
А вы предпочитаете использовать команду поиска или поле поиска в проводнике? Как вы использовали команду поиска? Поделитесь своими идеями и примерами с нами в комментариях ниже.
Источник: IT Проповедник
Присоединяйтесь к нам, в нашем уютном Телеграмм-канале, где вас ждут новости мира IT, подборки книг и много-много интересного!
Вчера прочитал на сайте Microsoft©™® статью о системных переменных. Оказывается еще со времен старушки XP, в консоли можно писать несколько команд в ряд, разделяя команды знаком | (вертикальная черта). Весьма удобная функциональная возможность надо заметить. После прочтения статьи, я решил попробовать что-либо найти из под консоли. Команды которые нам потребуются:
- dir
- find
Запускаем консоль (клавиша win + r) — cmd (ок или нажмите клавишу enter). Чтобы найти какой-либо файл напишите — dir <диск, где необходимо искать> /s | find /i «<ваш текст>». Чтобы найти папку введите команду — dir <диск, где необходимо искать> /ad /b /s | find /i «<ваш текст>».
Какой ключ, что обозначает, я описывать не буду, т.к. в выше приведенных мною ссылках вы найдете ответы. Или в консоли наберите после неизвестной вам команды — /?, этот ключ выведет справку. Экспериментируйте с ключами для достижения более весомых результатов поиска.
Метки: cmd.exe, консоль windows, Windows
This entry was posted on 2011/07/24 at 10:28:36 and is filed under Software. You can follow any responses to this entry through the RSS 2.0 feed.
You can leave a response, or trackback from your own site.