Форум программистов, компьютерный форум, киберфорум
Наши страницы

Batch (CMD/BAT)

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 82, средняя оценка - 4.72
Dragokas
Эксперт WindowsАвтор FAQ
16600 / 6985 / 845
Регистрация: 25.12.2011
Сообщений: 10,781
Записей в блоге: 16
#1

Настройка интерфейса и эффективное использование CMD [Статья] - CMD/BAT

23.11.2013, 16:24. Просмотров 16915. Ответов 37
Метки нет (Все метки)

Статья от 27.10.2013
Автор: Dragokas

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

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


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

Запустим консоль - "Пуск", "Выполнить", 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.



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


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

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

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

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


Colors_DEMO_by_Inquisitor.zip

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

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

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

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

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

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

Ширина.

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

RoboCopy - Скриншот 80 против 120


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



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





2) Высоту и ширину можно задать и командой консоли:
Код
mode con cols=80 lines=25
Работает только в текущем окне до выхода.
Внимание: это стирает весь вывод консоли и устанавливает буфер равным этому же значению (полосы прокрутки текста не будет).

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


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

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

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



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


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

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

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

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


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

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

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

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

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

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

Код
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} несколько раз.

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



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

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


Миниатюры
13
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.11.2013, 16:24
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Настройка интерфейса и эффективное использование CMD [Статья] (CMD/BAT):

использование cmd файлов - CMD/BAT
Забыл уже как cmd скрипты правильно писать Мне нужно из cmd файла запустить программу sqlite3.exe и в ней выполнить две команду по...

Настройка в Zabbix мониторинга загрузки интерфейса fa0/0 - Администрирование Windows
Добрый день. Настраиваю в заббиксе мониторинг загрузки интерфейса fa0/0 и потери пакетов на нем Подскажите как реализовать? В гугле был,...

Настройка интерфейса командного файла через Batch Enhancer - CMD/BAT
Подскажите пожалуйста как сделать меню для командного командного файла, используя BE.exe.

Как установить строковую переменную среды cmd (с использование команды set) в батнике? - CMD/BAT
Казалось бы, всё просто //батник set /p per=x или //батник set /p per=

Эффективное использование С# - C#
Добрый вечер! У кого-нибудь есть книга: &quot;Эффективное использование С#&quot; Билла Вагнера в электронном издании? Поделитесь, пожалуйста, а...

Эффективное использование памяти - C++
Добрый день! Подскажите, пожалуйста, какой способ будет эффективнее всего использовать память при чтении строк из файла? Думала над...

37
Eva Rosalene
Male-to-Female
4046 / 1583 / 241
Регистрация: 06.01.2013
Сообщений: 4,183
Завершенные тесты: 1
23.11.2013, 17:10 #2
Обратите внимание:
если эта настройка включена, случайный клик мышью по окну CMD
приведет к приостановке выполнения пакетного файла, пока Вы не нажмете любую* клавишу на клавиатуре.
Это самая лучшая фича. Так легко на паузу поставить

И еще. На последнем скринчике выведены строки, которых не должно быть, потому что "find". ЯНП
1
Dragokas
Эксперт WindowsАвтор FAQ
16600 / 6985 / 845
Регистрация: 25.12.2011
Сообщений: 10,781
Записей в блоге: 16
23.11.2013, 17:16  [ТС] #3
Они были выведены потому что Марк загнал их во 2-й поток
Вот так не выведет:
Bash
autorunsc /? 2>&1 | find /i "service"
Добавлено через 1 минуту
Цитата Сообщение от FraidZZ Посмотреть сообщение
Это самая лучшая фича. Так легко на паузу поставить
Да. Но если делаешь скрипт для людей, лучше подстраховаться.
2
ranebull
526 / 359 / 54
Регистрация: 23.06.2013
Сообщений: 1,182
Записей в блоге: 6
23.11.2013, 18:01 #4
Цитата Сообщение от Dragokas Посмотреть сообщение
Статья от 27.10.2013
Автор: Dragokas

1. Настройка интерфейса и эффективное использование CMD.
Отличная статья, большое спасибо
0
shoomilka
0 / 0 / 0
Регистрация: 28.12.2012
Сообщений: 5
21.01.2014, 21:48 #5
Я знаю, я - немного дурочка. Но пытаюсь найти возможность не залить фон цветом, а поставить на него картинку. Это вообще реально? И если да, то в каком направлении копать? Через редактирование реестра?

ЗЫ у меня ВинХР
0
Eva Rosalene
Male-to-Female
4046 / 1583 / 241
Регистрация: 06.01.2013
Сообщений: 4,183
Завершенные тесты: 1
21.01.2014, 22:23 #6
Нет, стандартная консоль это не умеет.
0
Dragokas
Эксперт WindowsАвтор FAQ
16600 / 6985 / 845
Регистрация: 25.12.2011
Сообщений: 10,781
Записей в блоге: 16
21.01.2014, 22:31  [ТС] #7
Ах, мечты
0
Eva Rosalene
Male-to-Female
4046 / 1583 / 241
Регистрация: 06.01.2013
Сообщений: 4,183
Завершенные тесты: 1
22.01.2014, 16:34 #8
Dragokas, может эту статю закрепить? Она полезная.
1
Dragokas
Эксперт WindowsАвтор FAQ
16600 / 6985 / 845
Регистрация: 25.12.2011
Сообщений: 10,781
Записей в блоге: 16
22.01.2014, 20:49  [ТС] #9
Цитата Сообщение от FraidZZ Посмотреть сообщение
Она полезная.
А другие не полезные?

Ок. Понял. Раз пользуется повышенной популярностью, закреплю.
2
shoomilka
0 / 0 / 0
Регистрация: 28.12.2012
Сообщений: 5
29.01.2014, 18:41 #10
огромное спасибо за ответы. На Асме написала программку, которая заполняет весь экран сердечками. Правда, они потом уходят за горизонт вместе с командами...
Т.ч. в какой-то мере мечты имеют способность сбываться Хотя бы ненадолго
0
Dragokas
Эксперт WindowsАвтор FAQ
16600 / 6985 / 845
Регистрация: 25.12.2011
Сообщений: 10,781
Записей в блоге: 16
09.04.2014, 18:37  [ТС] #11
Хорошее пояснение как действуют горячие клавиши
в статье от Nikobraz "Тонкости работы в командной строке Windows"
2
Eva Rosalene
09.04.2014, 21:10
  #12

Не по теме:

К слову сказать, в конце той статьи ссылка на наш форум. Мелочь, а приятно

0
Dragokas
Эксперт WindowsАвтор FAQ
16600 / 6985 / 845
Регистрация: 25.12.2011
Сообщений: 10,781
Записей в блоге: 16
09.04.2014, 22:12  [ТС] #13
Цитата Сообщение от shoomilka Посмотреть сообщение
Но пытаюсь найти возможность не залить фон цветом, а поставить на него картинку. Это вообще реально?
Все невозможное возможно



http://sourceforge.net/projects/conemu/
Альтернативный терминал для Windows

Win + Alt + P -> Main -> Background image.
Миниатюра
Настройка интерфейса и эффективное использование CMD [Статья]
4
shoomilka
0 / 0 / 0
Регистрация: 28.12.2012
Сообщений: 5
11.04.2014, 00:16 #14
WOW! Круто, даже на ХР идет...
0
sov44
1758 / 742 / 128
Регистрация: 09.04.2011
Сообщений: 1,313
02.10.2014, 23:00 #15
В Win10 текст из буфера обмена в командную строку теперь можно вставить "как в блокноте" Ctr+V
В ранних версиях - [alt] + [пробел], [и], [а] (русская локализация консоли)
2
02.10.2014, 23:00
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.10.2014, 23:00
Привет! Вот еще темы с ответами:

Эффективное использование автоматов - SEO
Появилась необходимость сильно ускорить популяризацию сайта в интернете, уже задействованы обмен ссылок в Сапе, покупка контекстной...

Эффективное использование ОЗУ - Windows 10
Люди, здравствуйте. Если на борту компьютера много оперативной памяти, то есть ли эффективный способ ее использовать? Чтобы данные...

SqlDataReader - более эффективное использование - C#
Здравствуйте! Подскажите пожалуйста, что более рационально использовать 1) Делать несколько запросов к базе , т.е &quot;Select * from table1...

Эффективное использование графики GDI+ - C#
Отрисовка в классе Graphics не очень эффективна, когда нужно нарисовать большое изображение или очень много объектов. Это и некоторые...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru