Вывести в файл список всех команд
Командная строка позволяет вводить и выполнять команды операционной системы и другие компьютерные команды. Вводя команды, можно выполнять на компьютере различные задачи, не пользуясь мышью или сенсорным вводом.
В разделе перечислены базовые приемы работы в командной строке Windows.
Запуск командной строки¶
Для запуска командной строки воспользуйтесь одним из следующих способов:
- «Пуск → Выполнить» (или клавиши Win+R ) введите cmd и нажмите клавишу Enter ;
- «Пуск → Все программы → Стандартные → Командная строка»;
- «Пуск → Поиск → Командная строка».
Использование оператора « &» для перенаправления ввода и дублирования
При перенаправлении вывода в файл и задании существующего имени файла интерпретатор команд Cmd.exe открывает файл с доступом только для записи и переписывает его содержимое. Если дескриптор задан, интерпретатор команд Cmd.exe дублирует файл в существующий дескриптор.
Для дублирования определенного пользователем дескриптора 3 в дескриптор 1 введите:
Для перенаправления всех выходных данных, включая выходные данные дескриптора 2 (STDERR), команды ipconfig в дескриптор 1 (STDOUT) и последующего перенаправления выходных данных в Output.log введите:
Использование операторов перенаправления
Автодополнение путей файлов¶
Чтобы не набирать вручную весь путь к файлам используется клавиша Tab на клавиатуре. Она автодополняет названия директорий и файлов, например, чтобы ввести название папки User , достаточно ввести первую букву и нажать клавишу Tab , будет подставлено соответствующее значение.
Если на букву U начинается несколько директорий или файлов, то при каждом последующем нажатии Tab будет происходить перебор названий. Чтобы произвести перебор в обратном порядке, нажимайте Tab c зайжатой клавишей Shift .
Если папка состоит из нескольких слов, разделенных пробелом или из кириллических символов, то весь путь берется в кавычки, например, cd "C:\Documents and Settings"
Комбинирование команд с операторами перенаправления
Комбинируя команды-фильтры с другими командами и именами файлов, можно создавать команды на заказ. Например, для сохранения имен файлов, содержащих строку «LOG», используется следующая команда:
Выход команды dir отсылается в команду-фильтр find. Имена файлов, содержащие строку «LOG», хранятся в файле Loglist.txt в виде списка (например, NetshConfig.log, Logdat.svd и Mylog.bat).
При использовании более одного фильтра в одной команде их необходимо отделять с помощью канала (|). Например, следующая команда ищет в каждом каталоге диска C файлы, в названии которых присутствует строка «Log», и выводит их постранично на экран:
Большинство команд содержит дополнительные параметры, список которых вы можете посмотреть введя команду help имя_команды или имя_команды /? , например:
ECHO – вывод текста на экран консоли:
В данном случае %USERNAME% является переменной, хранящей информацию об имени текущего пользователя. Подробнее переменные среды рассматриваются в разделе Переменные среды Windows данного руководства.
CLS – очищает экран командной строки, вводится без параметров;
CMD – запуск новой копии интерпретатора командной строки;
CD – смена каталога (англ. Change Directory):
Обычно путь берется в кавычки, если в названиях директорий встречаются пробелы или кириллические символы.
DIR – отображение списка файлов и каталогов:
Команда из примера введена с параметрами /a:h (показывать все файлы и папки, в том числе скрытые) и /w (вывод списка в несколько столбцов). Для получения подробной информации по параметрам команды введите DIR /? (отобразить справку по использованию команды).
RMDIR – удаление каталога;
DEL – удаление одного или нескольких файлов;
COPY – копирование файлов и каталогов;
MD – создание нового каталога;
MOVE – перемещение файлов и каталогов;
FIND – поиск строки символов в файле;
FINDSTR – поиск строк в файлах с использованием регулярных выражений;
PING – утилита проверки доступности узла;
WHOAMI – вывод имени и SID текущего пользователя:
TELNET – telnet-клиент Windows;
DATE – отображение или изменение даты;
FC – сравнение содержимого файлов;
FOR – организация циклической обработки результатов выполнения других команд, списков, и строк в текстовых файлах;
IF – оператор условного выполнения команд в пакетном файле.
Это малая часть доступных команд, для просмотра других команд используйте команду help или смотрите статью Список команд Windows ( Windows CMD ).
Параметры
Параметр | Описание |
---|---|
[диск:][путь] | Задание диска и каталога, список файлов которого будет выведен |
[имя_файла] | Задание файла или группы файлов, сведения о которых требуется вывести |
/p | Постраничный вывод сведений, т. е. с паузой после заполнения экрана. Для продолжения просмотра необходимо нажать любую клавишу |
/q | Вывод сведений о владельце файла |
/w | Вывод сведений в несколько колонок до пяти имен файлов или каталогов в каждой строке |
/d | Соответствует /w, но с сортировкой по столбцам |
/a [[:] атрибуты] | Выводит имена только тех файлов и каталогов, которые имеют указанные атрибуты. Если параметр /a не указан, команда dir выводит имена всех файлов, за исключением системных и скрытых. Если параметр /a указан без атрибутов, команда dir выводит имена всех файлов, включая скрытые и системные. Ниже приведен список значений, которые могут быть использованы при задании параметра атрибуты. Двоеточие (:) является необязательным. Значения из таблицы могут использоваться в любых комбинациях без пробела между ними. h - Скрытые файлы s - Системные файлы d - Каталоги a - Файлы, готовые к архивированию r - Файлы, доступные только для чтения -h - Файлы, не являющиеся скрытыми -s - Файлы, не являющиеся системными -d - Только файлы (не каталоги) -a - Файлы, не изменявшиеся после последнего архивирования -r - Файлы, не имеющие атрибута «Только чтение» |
/o [[:]порядок_сортировки] | Управление порядком сортировки и вывода имен файлов и каталогов командой dir. Если параметр /o, не задан, команда dir выводит имена в том порядке, в котором они записаны в каталоге. Если параметр /o использован без параметра порядок_сортировки, команда dir выводит имена каталогов в алфавитном порядке, затем — имена файлов в алфавитном порядке. Двоеточие (:) является необязательным. Ниже приведен список значений, которые могут быть использованы при задании параметра порядок_сортировки. Допускается использование любого их сочетания без пробелов между ними. n - Сортировка по именам в алфавитном порядке e - Сортировка по расширениям в алфавитном порядке d - Сортировка по дате и времени от ранних к поздним s - Сортировка по размеру от меньших к большим g - Сортировка с группированием каталогов перед файлами -n - Сортировка по именам в обратном алфавитном порядке (от Z к A) -e - Сортировка по расширению в обратном алфавитном порядке (от .ZZZ к .AAA) -d - Сортировка по дате и времени от поздних к ранним -s - Сортировка по размеру от больших к меньшим -g - Сортировка с группировкой каталогов после файлов |
/t [[:]поле_времени] | Задание поля времени для вывода и сортировки. Ниже приведен список значений, которые могут быть использованы при задании параметра поле_времени. c - Создание a - Последнее обращение w - Последняя запись |
/s | Перечисление всех случаев обнаружения определенного имени файла в указанном каталоге и всех его подкаталогах |
/b | Перечисление каждого имени файла (включая расширение) или каталога на отдельной строке. При использовании параметра /b заголовочные сведения или сводка не выводятся. Параметр /b отменяет параметр /w |
/l | Вывод несортированного списка имен каталогов и имен файлов строчными буквами. Параметр /l не позволяет преобразовывать дополнительные символы в строчные |
/n | Вывод списка в расширенном формате с именами файлов в правой части экрана |
/x | Вывод сокращенных имен файлов файловых систем NTFS и FAT. Формат совпадает с форматом параметра /n, но сокращенные имена выводятся после полных |
/c | Вывод разделителя десятичных разрядов в размере файлов |
/4 | Отображение года в четырехзначном формате |
/? | Отображение справки в командной строке |
Использование оператора «>>» для добавления вывода
Для добавления выходных данных команды в конец файла без потери хранящейся в нем информации используется двойной символ «больше» (>>). Например, следующая команда добавляет список каталогов, созданный командой dir, в файл Dirlist.txt:
Для добавления выходных данных команды netstat в конец файла Tcpinfo.txt введите:
Копирование текста в/из командной строки¶
По умолчанию копирование текста из командной строки отключено. Чтобы его включить необходимо:
- Нажать правой кнопкой мыши на заголовок окна командной строки и выбрать пункт «Свойства»;
- Установить галочки напротив «Выделение мышью» и «Быстрая вставка»;
Для копирования текста из командной строки достаточно выделить текст и щелкнуть правой кнопкой мыши, выделенный текст скопируется в буфер обмена. Для вставки текста в командную строку также используется нажатие правой кнопкой мыши.
Bat-файлы¶
Используя команды можно написать bat файлы,которые позволяют упрощать и автоматизировать выполнение задач. Более подробно работа с bat файлами рассматривается в статьях:
Использование перенаправления выполнения команд
В случае, если необходимо просто сохранить все, что вывела командная строка в текстовый файл, то нужно после введенной команды добавить символ ">", что приведет к созданию текстового файла и весь вывод командной строки отправится туда. Пример:
Обратите внимание, что командная строка при перенаправлении вывода может создать только текстовый файл, но не папку. Если вы введете несуществующий путь, то получите ошибку!
Как видно, командная строка не вывела никакого результата введенной команды на экран, но зато сохранила все в файл ping.txt. К сожалению, существуют ограничения перенаправления вывода, которые не позволяют одновременно отображать вывод и в окне командной строки, и сохранять их в текстовый файл. Однако, можно воспользоваться хитростью - сразу по завершению выполнения команды вывести содержимое текстового файла на экран с помощью команды type. Получится что-то следующее:
Если требуется файл не записывать (существующий текстовый файл будет перезаписан), а дописывать (существующий текстовый файл будет дополнен), нужно вместо одного символа ">" использовать два - ">>".
В случае, если в текстовый файл нужно сохранить так же какой-то текст (например, в составе bat файла), то можно воспользоваться комбинацией с командой echo:
Содержимое получившегося текстового файла будет следующим:
Для того, чтобы вывод был только в текстовый файл (без показа в окне командной строки), нужно вставить первой строкой в bat файле команду @echo off
Операторы перенаправления команд используются для изменения местоположений потоков ввода и вывода команд, заданных по умолчанию, на какие-либо другие. Местоположение потоков ввода и вывода называется дескриптор.
Использование оператора канала (|)
Оператор канала «вертикальная линия» (|) забирает выходные данные одной команды (по умолчанию STDOUT) и направляет их на вход другой команды (по умолчанию STDIN). Например, следующая команда сортирует каталог:
В данном примере обе команды запускаются одновременно, но команда sort приостанавливает работу до получения выходных данных команды dir. Команда sort использует выходные данные команды dir в качестве своих входных данных, а затем свои выходные данные отправляет в дескриптор 1 (STDOUT).
Перенаправление ввода команд ( )
Для перенаправления вывода команд из окна командной строки в файл или на устройство применяется оператор «>». Этот оператор используется с большинством команд. Например, для перенаправления вывода команды dir в файл Dirlist.txt введите:
Если файл Dirlist.txt не существует, интерпретатор команд Cmd.exe создаст его. Если файл существует, Cmd.exe заменит информацию в файле на данные, полученные от команды dir.
Для запуска команды netsh routing dump и последующей отправки результатов ее работы в Route.cfg введите:
Оператор «>» открывает заданный файл с доступом только для записи. Поэтому с помощью данного оператора файл прочитать нельзя. Например, при запуске программы с оператором перенаправления ».
Синтаксис
Примеры использования
Чтобы вывести подряд все каталоги в алфавитном порядке, в несколько колонок и с паузой после заполнения каждого экрана, убедитесь, что корневой каталог является текущим, и введите следующую команду:
Команда dir выводит имя корневого каталога, имена его подкаталогов и имена файлов (включая расширения) в этом каталоге. Затем выводятся имена подкаталогов и имена файлов в каждом каталоге дерева каталогов.
Для изменения предыдущего примера так, чтобы команда dir не выводила имена каталогов, введите следующую команду:
Чтобы напечатать список каталогов, введите следующую команду:
Если указать параметр prn, список каталогов отправляется на принтер, подключенный к порту LPT1. Если принтер подключен к другому порту, необходимо заменить параметр prn именем этого порта.
Вывод команды dir также может быть направлен в файл при замене prn на имя файла. Кроме того, можно также ввести путь. Например, для направления вывода команды dir в файл Dir.doc в каталоге Records введите следующую команду:
Чтобы вывести список всех файлов с расширением .txt во всех каталогах диска C, введите следующую команду:
Команда dir выводит на экран алфавитный список файлов, удовлетворяющих заданному шаблону, в несколько колонок с паузой после заполнения каждого экрана.
Командная строка - неизменный компонент любой операционной системы Windows, который берет свое происхождение прямиком от её предка - операционной системы MS-DOS. Данная программа имеет довольно широкие возможности, но сейчас мы поговорим о довольно примитивной вещи - сохранение (по факту - перенаправление) вывода командной строки в текстовый файл.
Дублирование дескрипторов
Оператор перенаправления «&» дублирует выходные или входные данные с одного заданного дескриптора на другой заданный дескриптор. Например, для отправки выводных данных команды dir в файл File.txt и отправки ошибки вывода в файл File.txt введите:
При дублировании дескриптора происходит копирование всех его исходных характеристик. Например, если дескриптор доступен только для записи, то все его дубликаты будут доступны только для записи. Нельзя продублировать дескриптор с доступом только для чтения в дескриптор с доступом только для записи.
Ввод команд¶
Команды вводятся посредством ввода с клавиатуры. Простейшая команда help выводит список всех доступных команд. Также вы можете просмотреть полный перечень команд в статье Список команд Windows ( Windows CMD ).
Для вывода справки по конкретной команде введите help название_команды , например:
Перечень основных команд и примеры их использования приведены в разделе Основные команды данного руководства.
Операторы перенаправления
В следующей таблице описаны операторы перенаправления потоков ввода и вывода команд.
Оператор перенаправления | Описание |
---|---|
> | Записывает данные на выходе команды вместо командной строки в файл или на устройство, например, на принтер. |
Читает поток входных данных команды из файла, а не с клавиатуры. | |
>> | Добавляет выходные данные команды в конец файла, не удаляя при этом существующей информации из файла. |
>& | Считывает данные на выходе одного дескриптора как входные данные для другого дескриптора. |
Считывает входные данные одного дескриптора как выходные данные другого дескриптора. | |
| | Считывает выходные данные одной команды и записывает их на вход другой команды. Эта процедура известна под названием «канал». |
По умолчанию, входные данные команды (дескриптор STDIN) отсылаются с клавиатуры интерпретатору команд Cmd.exe, далее Cmd.exe отправляет выходные данные команды (дескриптор STDOUT) в окно командной строки.
В следующей таблице представлены доступные дескрипторы.
Дескриптор | Числовой эквивалент дескриптора | Описание |
---|---|---|
STDIN | 0 | Ввод с клавиатуры |
STDOUT | 1 | Вывод в окно командной строки |
STDERR | 2 | Ошибка вывода в окно командной строки |
UNDEFINED | 3-9 | Эти дескрипторы определяются индивидуально для каждой прикладной программы. |
Номера от 0 до 9 представляют первые 10 дескрипторов. Для запуска программы и перенаправления любого из 10 дескрипторов используется интерпретатор команд Cmd.exe. Для задания требуемого дескриптора перед оператором перенаправления введите его номер. Если дескриптор не определен, то по умолчанию оператором перенаправления ввода « » будет единица (1). После ввода оператора « » необходимо указать, откуда читать и куда записывать данные. Можно задать имя файла или любой из существующих дескрипторов.
Для задания перенаправления в существующие дескрипторы используется амперсанд (&), затем номер требуемого дескриптора (например, &номер_дескриптора). Например, для перенаправления дескриптора 2 (STDERR) в дескриптор 1 (STDOUT) введите 1
Примечания
dir /-w
Чтобы изменить параметры DIRCMD, используемые по умолчанию, введите следующую команду:
set=новый_параметр
Новые параметры по умолчанию останутся в силе для всех последующих команд dir, пока команда set dircmd не задаст новые параметры или не будет перезагружен компьютер.
Чтобы удалить все параметры по умолчанию, введите следующую команду:
set dircmd=
Чтобы просмотреть текущие параметры переменной среды DIRCMD, введите следующую команду:
Вывод информации в текстовый файл и перенаправление данных¶
Если файл не существует, то он будет создан. Если существует, то он будет перезаписан. Чтобы записать данные в конец файла, необходимо воспользоваться командой >> , например: systeminfo >> C:\Users\mazhartsev\Desktop\test.txt
DIR - Выводит список файлов и подкаталогов каталога. Вызванная без параметров команда dir выводит метку тома и серийный номер, за которыми следует список каталогов и файлов на диске, включая их имена, дату и время последнего изменения. Для файлов dir выводит также расширение имени и размер в байтах. Команда dir также выводит общее число перечисленных файлов и каталогов, их общий размер и свободное пространство (в байтах) на диске.
Читайте также: