CMD: Настройка интерфейса и эффективное использование CMD

Dragokas

Angry & Scary Developer
Команда форума
Супер-Модератор
Разработчик
Клуб переводчиков
Сообщения
7,813
Реакции
6,592
Статья от 27.10.2013
Автор: Dragokas

1. Настройка интерфейса и эффективное использование CMD.
1.1. Управление мышкой.
1.2. Внешний вид, цвета и буфер экрана.
1.3. Быстрые клавиши, автоподстановка имен файлов/папок, история команд.
1.4. Поиск текста в выводе консоли.

Что мы получим:
  • удобство набора;
  • быстрый доступ к ранее введенным командам;
  • скоростной ввод имен файлов, даже не зная их перечня;
  • визуальную привлекательность окна;
CMD_TuneUP.png


Начнем тюнинг:

Запустим консоль - "Пуск", "Выполнить", CMD, {ENTER}.
Правый клик мыши по заголовку (или ALT + Пробел) -> Свойства или Умолчания*

* Свойства - означает, что настройки применяются к окну ком. процессора (CMD.exe), а также пакетным файлам команд .BAT, .CMD
* Умолчания - означают, что настройки наследуются консольными программами, если иные параметры не предусмотрены ее разработчиком.

5.1. Управление мышкой.

Вкладка "Общие":

Копирование/вставка в/из буфера обмена

1. "Выделение мышью" и "Быстрая вставка" - ставим галочку.
Теперь можем выделять текст с помощью мыши, как в обычном блокноте.

Копирование текста в буфер (после его выделения) - правый клик мышью.
Вставка из буфера - тоже правый клик мышью. Быстро и удобно :)

Обратите внимание:
если эта настройка включена, случайный клик мышью по окну CMD
приведет к приостановке выполнения пакетного файла, пока Вы не нажмете любую* клавишу на клавиатуре.
* Например, стрелку (только не модификаторы Ctrl, Alt...).

5.2. Внешний вид и буфер экрана.

Цвет шрифта и фона:

1) Через Свойства

Вкладка "Цвета" ->
1. Текст на экране
2. Фон экрана.

Можно настроить в любой RGB-гамме.
По-умолчанию, доступны 16 предустановленных цветов,
но можно задать и отдельно каналы "Красный", "Зеленый" и "Синий"
Внимание: это заменяет предустановленную ячейку цвета*.

Давайте, зададим фон окна CMD под стиль форума SafeZone.cc:
Нажимаем: Цвета -> Фон экрана -> Синяя ячейка цвета -> Выставим вручную гамму:
R (красный) - 30
G (зеленый) - 0
B (синий) - 115.

CMD_Colors.png


*Чтобы сбросить гамму на стандартную, достаточно удалить параметр реестра:
HKEY_CURRENT_USER\Console\%SystemRoot%_system32_cmd.exe\ColorTable01


2) Цвет можно временно задать и через команду консоли:
CMD/BATCH:
Color 0B
где 0 и B - 16-ричный код цвета
1-я цифра - фон
2-я цифра - текст

Настройки сохраняться только в текущем окне до выхода.

Расшифровка Color /?

0 = Черный 8 = Серый
1 = Синий 9 = Светло-синий
2 = Зеленый A = Светло-зеленый
3 = Голубой B = Светло-голубой
4 = Красный C = Светло-красный
5 = Лиловый D = Светло-лиловый
6 = Желтый E = Светло-желтый
7 = Белый F = Ярко-белый

DEMO_Colors.png

Посмотреть вложение Colors_DEMO_by_Inquisitor.zip

Текущие настройки хранения выбранного цвета фона/цвета текста находятся в параметре реестра:
HKEY_CURRENT_USER\Console\%SystemRoot%_system32_cmd.exe\ScreenColors

Размер окна и положение:

1) Через свойства:

Высота и буфер экрана вывода.

Вкладка: "Расположение" -> Размер окна -> "Высота"
По-умолчанию: 25, что весьма мало.
Рекомендую ставить по-больше: 40-80 символов.
Важно видеть сразу максимум информации на экране без необходимости в полосе прокрутки.

Но иногда отчет бывает так велик, что прокручивать все равно нужно.
И тут наткнемся на буфер:
по-умолчанию, консоль сохраняет последние 300 строк вывода.
По желаю, можете установить больше - 500, к примеру.
Больше не рекомендую, иначе полоса прокрутки будет слишком маленькой: за нее тяжело ухватиться и пролистывание будет чрезмерно быстрым.

Ширина.

Вкладка: "Расположение" -> Размер окна -> "Ширина"
По-умолчанию: 80 и этого зачастую хватает.
Иногда бывает необходимость увидеть "широкий" вывод в одну строку, например:
  • длинное имя ключа реестра,
  • помощь по команде Robocopy /?
Согласитесь, в режиме 120 символов по ширине выглядит более симпатично:

Ширина 80 символов

Robocopy1.png


Ширина 120 символов

Robocopy2.png

2) Высоту и ширину можно задать и командой консоли:
CMD/BATCH:
mode con cols=80 lines=25

Работает только в текущем окне до выхода.
Внимание: это стирает весь вывод консоли и устанавливает буфер равным этому же значению (полосы прокрутки текста не будет).

Настройки храняться в параметре реестра:
HKEY_CURRENT_USER\Console\%SystemRoot%_system32_cmd.exe\WindowSize


Стартовое положение консоли:

Стандартно, новое окно появляется со смещением относительно старого.
По желанию, можно чтобы оно появлялось в том же месте (накладывались друг на друга).

Вкладка: "Расположение" -> Положение экрана -> "Автоматический выбор" - снять галочку.

Position.png

Настройки храняться в параметре реестра:
HKEY_CURRENT_USER\Console\%SystemRoot%_system32_cmd.exe\WindowPosition


5.3. Быстрые клавиши, автоподстановка имен файлов/папок, история команд.

Представим: набрали мы длинную команду и ошиблись в 1-м символе.
Что делать?

Вариант - двигать курсор стрелками "<-" "->"
Но можно и проще:

Клавиша|Описание
| Управляю курсором:
Home|Курсор в начало строки
End|Курсор в конец строки
| А теперь нужно исправить что-то в средине команды:
Ctrl + "<-"|Курсор назад на одно слово
Ctrl + "->"|Курсор вперед на одно слово
| А если вообще ошиблись?
Esc|Удаление текущей строки
| Забыли, как называется файл, или знаете только начальные символы?
|Вводим, что знаем и нажимаем 1 или более раз кнопку <Tab>
Tab|Автодополнение имени файла/папки, перечисление имен в текущей или заданной папке с учетом маски.

Еще потренируемся? :)

Создаем папку temp

CMD/BATCH:
md c:\temp

Выделяем в консоли текст c:\temp
и копируем в буфер правым кликом мыши.

создаем в папке пару файлов:
CMD/BATCH:
echo.>{правый клик}\readme.txt
echo.>{правый клик}\some.doc

Выполните такие нажатия и наблюдайте за происходящим:
Код:
c:\temp\{TAB}{TAB}
{ESC}
{правый клик}r{TAB}
{ESC}
{правый клик}*.doc{TAB}


История команд.

Мы ввели команду:

CMD/BATCH:
copy c:\temp\readme.txt 1.txt

Теперь мы хотим ввести:
Клавиша|Описание
| - предыдущую команду еще раз
Стрелка "Вверх" или F3| Ввод предыдущей команды.
| - если вводили немногим ранее:
Стрелка "Вверх" несколько раз| Ввод предыдущей (N-раз ранее) команды
| - если очень давно вводили существует история команд:
F7| история команд

{F7} - Вывод меню с перечнем введенных нами команд в хронологическом порядке.
Двигаться по меню - стрелки "Вверх", "Вниз". Выполнить команду - {ENTER}.
Настройка истории команд:
Количество запоминаемых команд - ALT + Space, "Свойства", вкладка "Общие" -> Запоминание команд -> Размер буфера.

Не показывать одинаковые команды - там же, галочка "Отбрасывать повторения".


Часто используемые комбинации:

На завершение привожу все горячие клавиши:

Клавиша|Описание
Ctrl + C| Завершение работы пакетного файла, прекращение работы команды, консольной утилиты. Например, нужно прервать перечисление файлов Dir /S
Home|Курсор в начало строки
End|Курсор в конец строки
Esc|Удаление текущей строки
Tab|Автодополнение имени файла/папки, перечисление имен в текущей или заданной папке с учетом маски.
F7| история команд
"Вверх"|Перечисление предыдущих введенных команд
"Вниз"|Используйте вместе с "Вверх": движение по предыдущим командам

Редко используемые:

Клавиша|Описание
Ctrl + "<-"|Курсор назад на одно слово
Ctrl + "->"|Курсор вперед на одно слово
Insert|Обычный режим или перезапись текста поверх
F3| Ввод предыдущей команды
PgUP|Аналог F3
PgDown|Вывод предыдущей команды
F1| Ввод первых N символов предыдущей команды
F2|Копировать до символа...
F4|Удалить до символа...
F6, аналог Ctrl+Z|Символ завершения строки. Может использоваться, например, в команде copy con 1.txt
F8| Выводит предыдущую команду, на 1 пункт выше от выделенной в меню истории F7
F9| Ввести предыдущую команду по номеру из меню истории F7
Ctrl + I| Аналог TAB
Ctrl + G{ENTER}| Символ "Bell" - подает звуковой сигнал (работает не на всех материнских платах).
Колесо мыши| Вертикальная прокрутка
Средний клик мышью|Автопрокрутка с регулируемой скоростью.


5.4. Поиск текста в выводе консоли.

Значимость:
Допустим, вывод справки к команде, и там Вы хотите найти нужное слово.

Итак, перед Вами текст:

Хочу найти слово "service"

Жмем эмблему "C:\" (левый вырхний угол ) или ALT + Space, "Изменить" -> "Найти..."
Вводим service {ENTER} несколько раз.

Наденное помечается выделением.

autorunsc_find_menu.png


Из недостатков этого способа следует отметить:
- нельзя искать русские слова.
- текст будет утерян из виду, если его кол-во превысит установленный буфер экрана.
Выход:
  • использовать Find/Findstr (см. ниже)
  • форсировать вывод сообщений на английском языке от служебных команд с помощью переключения кодовой страницы в начале пакетного файла командой: chcp 862
2) Альтернативой является использование фильтров (Find, Findstr), которые мы рассмотрим в другом уроке.

Код:
autorunsc /? | find /i "service"

Autoruns_FIND_Command.png
 
Последнее редактирование:
Назад
Сверху Снизу