Бывают случаи, когда нужно найти файл в огромной файловой системе винды, а под рукой у нас только консоль. Хотя стоп, что может быть лучше консоли, верно? Сегодня я покажу пару команд, которые облегчат вашу жизнь при использовании "черного окна". Поехали
Tree
Эта команда позволяет вам отобразить файловую структуру в графическом виде (в виде дерева). Что очень удобно, если вы хотите вручную рассмотреть всю файловую систему. При использовании команды по умолчанию используются символы псевдографики, однако это можно отключить. Формат команды такой:
TREE [диск:][путь] [/F] [/A]
Кстати, писать можно и большими, и маленькими. Windows не чувствительна к регистру. Ок, давайте рассмотрим доступные параметры:
- /F - Вывод имен файлов в каждой папке.
- /A - Использовать символы ASCII вместо символов псевдографики.
И, чтобы было понятнее, сразу перейдем к примерам использования:
- tree /? - отобразить подсказку по использованию команды.
- tree C:\users - отобразить структуру каталогов от каталога C:\users
- tree /f C:\users - отобразить структуру каталогов от каталога C:\users с отображением имен файлов.
- tree /a /f C:\users - отобразить структуру каталогов от каталога C:\users с отображением имен файлов без использования символов псевдографики.
- tree C:\ | more - отобразить структуру каталогов от корневого каталога диска C:\ и перенаправить вывод в команду more
- tree C:\ > disk_C.txt - отобразить структуру каталогов от корневого каталога диска C:\ с выдачей результатов в текстовый файл disk_C.txt.
При отображении результата, необходимо учитывать, что в командной строке используется DOS-кодировка. При просмотре в редакторе MicroSoft Word, на запрос преобразования данных необходимо указать использование кодировки "Кириллица (DOS)". При использовании для просмотра программных средств, не поддерживающих символы псевдографики, можно воспользоваться параметром /A, что позволит отобразить структуру папок с использованием отображаемых символов ASCII (+,_ | и т.п.). Пример отображаемой структуры каталога C:\PROGRAM FILES\FAR MANAGER :
C:\PROGRAM FILES\FAR MANAGER
+---Addons
| +---Colors
| | +---Custom Highlighting
| | \---Default Highlighting
| +---Macros
| +---SetUp
| +---Shell
| \---XLat
| \---Russian
WHERE
Команда WHERE используется для определения расположения файлов в каталогах Windows, имена которых соответствуют задаваемому шаблону поиска, а также, при необходимости - размера, даты и времени их изменения. По умолчанию поиск выполняется в текущем каталоге и в каталогах, определяемых значением PATH. Формат команды такой:
WHERE [/R каталог] [/Q] [/F] [/T] шаблон...
Как я уже упоминал, можно писать и маленькими буквами - все будет работать. Давай, рассмотрим параметры:
- /R - Рекурсивный поиск и отображение файлов, соответствующих указанному шаблону, начиная с указанного каталога.
- /Q - Возврат только кода выхода без отображения списка найденных файлов (тихий режим)
- /F - Отображение имен найденных файлов в кавычках.
- /T - Отображение размера, даты и времени изменения для всех найденных файлов.
Шаблоны поддерживают регулярные выражения, то есть в них можно использовать "*", "/" и так далее.
Примеры использования:
- WHERE /? - выдать краткую справку по использованию команды.
- WHERE myfile.doc - найти расположение файла myfile.doc. Поиск выполняется в текущем каталоге и каталогах, имена которых задаются значением переменной PATH
- WHERE /T myfile.doc - то же, что и в предыдущем случае, но в результатах поиска отображается размер, дата и время изменения файла.
- WHERE /R C:\ myfile.doc - найти расположение файла myfile.doc. Поиск выполняется рекурсивно, начиная с корневого каталога диска C
- WHERE /R %windir%\system32 *.log - поиск файлов с расширением log начиная с подкаталога system32 системного каталога Windows.
- WHERE /R %windir%\system32 *.log > loglist.txt - поиск файлов с расширением log начиная с подкаталога system32 каталога Windows с записью результатов в файл loglist.txt.
- WHERE /R C:\ ???dir.* - поиск с использованием шаблона, где первые 3 символа имени файла могут быть любыми (???, следующие 3 символа принимают значение dir и с любым расширением.
- where /R C:\windows\system32 *7*.exe - поиск исполняемых файлов, в имени которых содержится символ "7" , начиная с каталога C:\windows\system32
- WHERE /R c:\windows *.vbs *.cmd *.bat - поиск файлов сценариев ( скриптов ) - файлов с расширением vbs, cmd и bat начиная с каталога C:\windows
- WHERE /Q file1.ext - не отображать результат поиска. При выполнении этой команды будет установлено значение переменной ERRORLEVEL в зависимости от результата поиска:
- ERRORLEVEL=0 - файл file1.ext найден.
- ERRORLEVEL=1 - файл file1.ext не найден.
- ERRORLEVEL=2 - при поиске файла file1.ext возникла ошибка.
Обычно команда WHERE /Q используется в командных файлах, когда в зависимости от результата поиска заданного файла нужно выполнить ту или иную подпрограмму.
Спасибо, что читаете нас!
Еще больше интересных статей и горячих новостей мира IT в нашем Telegram