DOSKEY
DOSKEY — команда, доступная в операционных системах DOS, OS/2[1], Windows[2] и ReactOS[3]. Она добавляет функции истории команд, макросов и расширенного редактирования для интерпретаторов командной строки COMMAND.COM и cmd.exe.
Общие сведения
| DOSKEY | |
|---|---|
| Тип | команда |
| Разработчики | Microsoft, IBM, Novell, участники проекта ReactOS |
| Операционные системы | MS-DOS, PC DOS, OS/2, eComStation, ArcaOS, Novell DOS 7, DR-DOS, Windows, ReactOS |
| Первый выпуск | 1991 |
| Аппаратная платформа | Кроссплатформенно |
| Сайт | docs.microsoft.com/en-us… |
История
Команда была включена как программа-постоянный резидент в состав MS-DOS и PC DOS начиная с версии 5[4], затем в Windows 9x[5] и, наконец, в Windows 2000[6] и последующих версиях.
В начале 1989 года схожая по функциям возможность была представлена в DR-DOS 3.40 посредством директивы HISTORY в CONFIG.SYS. Это обеспечивало на уровне драйвера консоли буфер истории ввода и поиск по шаблону, полностью интегрированные в ОС и прозрачные для приложений. Летом 1991 года команда DOSKEY была добавлена в MS-DOS/PC DOS 5.0 для предоставления аналогичной функциональности. DOSKEY также ввела механизмы макрорасширения, хотя для работы с ним приложениям, таким как командные интерпретаторы, требовалась специальная поддержка. Начиная с Novell DOS 7 (1993), возможности макросов предоставлялись отдельной командой DOSKEY. Для эмуляции буфера истории DOSKEY в DR-DOS команда DOSKEY выступала надстройкой над внутренней функцией буфера истории, которая оставалась частью ядра.
Команда DOSKEY также включена в IBM OS/2 версии 2.0[7].
В современных операционных системах на базе Windows NT функции DOSKEY встроены в CMD.EXE, однако команда DOSKEY по-прежнему применяется для изменения соответствующих параметров.
В FreeDOS команда DOSKEY отсутствует, поскольку аналогичные функции уже встроены в командный интерпретатор[8].
Использование
DOSKEY поддерживает ряд ключей командной строки:
DOSKEY [/ключ ...] [имя_макроса=[текст]]
- /REINSTALL
- Устанавливает новую копию DOSKEY.
- /LISTSIZE=[размер]
- Задаёт размер буфера истории команд.
- /MACROS
- Показывает все макросы DOSKEY.
- /MACROS:ALL
- Отображает макросы для всех исполняемых файлов, для которых заданы макросы DOSKEY.
- /MACROS:[имя исполняемого файла]
- Показывает макросы DOSKEY для указанного файла.
- /HISTORY
- Показывает все команды, сохранённые в памяти.
- /INSERT
- Задаёт режим вставки новых символов в существующую строку.
- /OVERSTRIKE
- Задаёт режим замещения существующего текста новыми символами.
- /EXENAME=имя_файла
- Указывает исполняемый файл.
- /MACROFILE=имя_файла
- Указывает файл с макросами для установки.
- /APPEDIT
- (не документировано — поддержка с MS-DOS 7)
- /COMMAND
- (не документировано — поддержка с MS-DOS 7)
- /PERMANENT
- (не документировано — поддержка с MS-DOS 7)
- /SCRSIZE
- (не документировано — поддержка с MS-DOS 7)
- /XHISTORY
- (не документировано — поддержка с MS-DOS 7)
- [имя_макроса]
- Имя создаваемого макроса.
- [текст]
- Команды, которые следует записать в макрос.
В сеансе работы DOSKEY поддерживаются следующие сочетания клавиш:
- ↑ и ↓
- Просмотр истории команд
- Esc
- Очистка строки ввода
- Ctrl+Home
- Очистка строки от курсора до начала
- Ctrl+End
- Очистка строки от курсора до конца
- F7
- Отображение истории команд
- Alt+F7
- Очистка истории команд
- F8
- Поиск по истории команд
- F9
- Выбор команды по номеру
- Alt+F10
- Очистка определений макросов
DOSKEY поддерживает макросы команд — механизм текстовой подстановки, схожий с алиасами (псевдонимами) командной строки в других средах.
- $T
- Разделитель команд; позволяет помещать несколько команд в один макрос.
- $1-$9
- Позиционные параметры, аналогичны %1-%9 в пакетных файлах.
- $*
- Заменяется всем текстом, следующим за именем макроса при вызове.
Альтернативы
Отсутствие истории команд в COMMAND.COM с первых версий MS-DOS считалось существенным недостатком. Было создано множество сторонних программ, решающих данную проблему — многие из них появились задолго до появления DOSKEY от самой Microsoft. Некоторые, например 4DOS и NDOS от JP Software, реализуют расширенное редактирование командной строки, в том числе автодополнение имён файлов. Среди известных альтернатив DOSKEY — DOSEDIT Джека Гершбаха, CED Криса Данфорда, DOSED Сверре Хусеби, CMDEDIT Ашока Надкарни, ANARKEY Стивена Калваса, TODDY Эрика Таука и усовершенствованный DOSKEY, разработанный Полом Хоулом.
Enhanced DOSKEY Пола Хоула[9] является улучшенной заменой стандартного DOSKEY.COM для MS-DOS и Windows 9x/Windows Me. Помимо меньшего размера на диске и в памяти, основное нововведение — автодополнение команд и имён файлов по клавише Tab. В версии 2.5 (2014) также появилась полноценная поддержка длинных имён файлов (LFN).
Примечания
- ↑ JaTomes Help — OS/2 Commands. Дата обращения: 28 июля 2019. Архивировано из оригинала 14 апреля 2019 года.
- ↑ Doskey (11 сентября 2009). Архивировано 21 января 2008 года.
- ↑ Reactos/Reactos. GitHub (2 ноября 2021). Архивировано 22 августа 2025 года.
- ↑ Running MS-DOS Version 6.22 (20th Anniversary Edition), 6th Revised edition. — Microsoft Press, 2003. — ISBN 0-7356-1812-7.
- ↑ Tim O'Reilly. Windows 98 in a Nutshell: A Desktop Quick Reference / Tim O'Reilly, Troy Mott, Walter Glenn. — O'Reilly, 1999. — ISBN 978-1565924864.
- ↑ Frisch, Æleen. Windows 2000 Commands Pocket Reference. — O'Reilly, 2001. — ISBN 978-0-596-00148-3.
- ↑ OS/2 2.0 Redbooks Volume 2 — DOS and Windows Environment (GG24-3731). Архивировано 2 апреля 2024 года.
- ↑ FreeDOS command: doskey. Архивировано 7 ноября 2011 года.
- ↑ Enhanced DOSKEY.com — с автодополнением, Paul Houle. Архивировано 18 сентября 2025 года.
Литература
- Special Edition Using MS-DOS 6.22, Third Edition. — Que Publishing, 2001. — ISBN 978-0789725738.
- Dyson, Peter. Mastering OS/2 Warp. — Sybex, 1995. — ISBN 978-0782116632.
- Stanek, William R. Windows Command-Line Administrator's Pocket Consultant, 2nd Edition. — Microsoft Press, 2008. — ISBN 978-0735622623.
- NWDOS-TIPs — Tipps & Tricks rund um Novell DOS 7, mit Blick auf undokumentierte Details, Bugs und Workarounds : [нем.]. — 3. — 1997-07-30. (NB. NWDOSTIP.TXT был частью MPDOSTIP.ZIP, поддерживался до 2001 года и распространялся на множестве сайтов. Приведённая ссылка ведёт к HTML-версии более раннего варианта.)