Как быстро найти файл в 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
отображает все папки и их содержимое, включая время создания, количество файлов в каждой, сколько места занимают.
Успехов
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
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/?
Начиная с Windows 7 в операционных системах от Microsoft можно использовать команду WHERE, чтобы найти нужные файлы.
Синтаксис команды where выглядит следующим образом:
WHERE [/R каталог_для_поиска] [/Q] [/F] [/T] [шаблон_для_поиска]
Разберём используемые в команде параметры.
R — рекурсивный поиск и отображение файлов, соответствующих указанному шаблону, начиная с указанного каталога;
Q — возврат только кода выхода без отображения списка найденных файлов («тихий режим»);
F — отображение имён найденных файлов в кавычках;
T — отображение размера, даты и времени изменения найденных файлов.
Пользоваться командой where просто. Но учитывайте, что нужно указывать расширение искомого файла. Либо использовать *, чтобы команда нашла файлы всех расширений с подобным именем.
Обратите внимание на скриншот ниже. Шаблона test команде where оказалось недостаточно. А вот когда мы написали test*, команда поняла, что после test может быть что угодно, в том числе и любое расширение.
Продолжаем. Вводим команду
where /t test*
и видим информацию о размере, дате и времени редактирования файла. В данном случае наш файл пуст.
Обратите внимание, что по умолчанию (без параметра R) поиск осуществляется в текущем каталоге и каталогах, заданных значением переменной среды PATH.
Это значит, что если мы хотим поискать на всём диске C, нам необходимо использовать следующую конструкцию:
where /r c:\ file_test*
Как видите, поиск выдал нам расположение двух файлов, содержащих в имени file_test.
Если нам лучше известно местоположение искомого файла, мы можем сузить зону поиска, указав каталог:
where /r c:\mega file_test*
Конечно, мы можем поискать все файлы с одним определённым расширением:
where /r c:\mega *xlsx
Можно использовать знаки вопроса, которые означают, что символ может быть любым. Их отличие от звёздочки в том, что звёздочка не регламентирует число символов, а количество знаков вопроса строго увязано с числом символов.
Ниже пример: сперва мы использовали конструкцию ??le_test*, и команда поняла, что первые два символа могут быть любыми, потом должно идти «le_test», а дальше любые символы. Под этот шаблон подходит file_test.xlsx. А вот под шаблон ?le_test* он уже не подходит. Так как в этом шаблоне перед «le_test» стоит всего один любой символ.
Может ли шаблон содержать сразу несколько разных имён файлов или несколько разных расширений? Может! Как видно на скриншоте ниже, сначала мы поискали файлы с расширениями .xlsx и .txt, а затем файлы, в имени которых содержится file_test или test. В обоих случаях команда where нашла такие файлы.
Пример использования параметра F (добавляет кавычки):
where /f /r c:\mega file_test* test*
Пару слов о параметре Q. Как уже было сказано, он используется для того, чтобы не отображать месторасположение файлов. При использовании параметра Q команда where просто выведет результаты поиска — найдены искомые файлы или нет. Для вывода результата команда использует переменную ERRORLEVEL, которая может принимать три значения:
0 — искомые файлы найдены;
1 — искомые файлы не найдены;
2 — во время поиска произошла ошибка.
Как видите, файл test.txt в каталоге c:\mega есть, а файла test.pdf нет.
Возможно, кому-то станет интересно, какое значение примет переменная ERRORLEVER, если одновременно поискать присутствующий и отсутствующий файлы. Она примет значение 0, и это не зависит от порядка написания имён файлов.
Обычно параметр Q используют в командных файлах, когда в зависимости от результатов поиска нужно выполнить то или иное действие.
И, конечно, результаты поиска можно перенаправить в файл:
where /r c:\ file_test* > c:\search_results.txt
Как видите, команда where это довольно мощный инструмент для поиска файлов в Windows.
Поиск Windows может найти что угодно на вашем диске Windows. Если вам достаточно нравится эта функция, вы можете расширить поиск на другие диски в вашей системе. Есть другие приложения / утилиты, которые вы можете установить, если обнаружите, что поиск Windows не так эффективен, или если вы можете искать файлы и папки из командной строки. Вот как.
Поиск файлов и папок из командной строки
Командная строка может искать файлы и папки на определенном диске или в определенной папке. По умолчанию, если вы запускаете его с правами обычного пользователя, он открывается в вашей пользовательской папке, и вы можете или не хотите выполнять поиск в этой конкретной папке. Вот почему вам нужно знать, как переместить командную строку в другое место.
Если вы хотите выполнить поиск на других дисках без окна, вам нужно сначала переключиться на него с помощью следующей команды;
Синтаксис
drive_letter:
Пример
D:
Чтобы перейти в другую папку, используйте команду ниже. Кавычки необходимы только в том случае, если у вас есть папки, в именах которых есть пробел в пути, который вы вводите, но лучше не добавлять их в привычку.
Синтаксис
cd "path-to-folder"
Пример
cd "D:Images"
Искать файлы по типу
Следующая команда позволяет вам искать в текущей папке все файлы определенного типа.
Синтаксис
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*"