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

Тема в разделе "FAQ по Пакетным файлам CMD/BAT", создана пользователем Dragokas, 27 окт 2013.

  1. Dragokas
    Оффлайн

    Dragokas Very kind Developer Команда форума Супер-Модератор Разработчик Клуб переводчиков

    Сообщения:
    4.497
    Симпатии:
    4.312
    Статья от 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) Цвет можно временно задать и через команду консоли:
    Код (DOS):
    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) Высоту и ширину можно задать и командой консоли:
    Код (DOS):
    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-м символе.
    Что делать?

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

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


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

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

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

    создаем в папке пару файлов:
    Код (DOS):
    echo.>{правый клик}\readme.txt
    echo.>{правый клик}\some.doc
    Выполните такие нажатия и наблюдайте за происходящим:
    Код (Text):
    c:\temp\{TAB}{TAB}
    {ESC}
    {правый клик}r{TAB}
    {ESC}
    {правый клик}*.doc{TAB}

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

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

    Код (DOS):
    copy c:\temp\readme.txt 1.txt
    Теперь мы хотим ввести:
    Клавиша Описание
    1 - предыдущую команду еще раз
    2 Стрелка "Вверх" или F3 Ввод предыдущей команды.
    3 - если вводили немногим ранее:
    4 Стрелка "Вверх" несколько раз Ввод предыдущей (N-раз ранее) команды
    5 - если очень давно вводили существует история команд:
    6 F7 история команд


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

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


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

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

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


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

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



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

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

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

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

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

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

    autorunsc_find_menu.png

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

    Код (Text):
    autorunsc /? | find /i "service"
    Autoruns_FIND_Command.png
     
    Последнее редактирование: 2 ноя 2013
    SNS-amigo, akok, Sandor и 4 другим нравится это.
  2. Dragokas
    Оффлайн

    Dragokas Very kind Developer Команда форума Супер-Модератор Разработчик Клуб переводчиков

    Сообщения:
    4.497
    Симпатии:
    4.312
    orderman и Kиpилл нравится это.

Поделиться этой страницей