При поддержке компании Mobatime Systems: лидера в разработке, производстве и продаже приборов и систем времени. Подробнее...
Сайт · Форум · Инструменты WindowsFAQ.ru - Сайт о Windows, компьютерах, системном администрировании, локальных сетях

Поиск

Друзья

Клуб любителей ASPLinux
Kerio Winroute Firewall инструкции настройки

Шаблоны

New_WindowsFAQ
Главная arrow FAQ arrow Командная строка arrow Doskey
Doskey Версия для печати
Автор SavageNoName   

Вызов программы Doskey.exe, которая позволяет повторно вызывать команды Windows XP, редактировать командные строки и создавать макросы.

Синтаксис

doskey {/reinstall | /listsize=размер | /macros:[{all | программа}] | /history | /insert | /overstrike | /exename=программа | /macrofile=имя_файла | имя_макроса=[текст]}

Параметры

/reinstall Установка новой копии программы Doskey.exe. Очистка буфера команд. /listsize=размер Задание максимального количества команд, сохраняемых в буфере. /macros Вывод списка всех макросов, заданных командой doskey. Для перенаправления списка в файл можно использовать символ перенаправления (>) вместе с параметром /macros. Допускается использование сокращения /m вместо /macros. all Вывод макросов doskey для всех программ. программа Вывод макросов doskey для заданной программы. /history Вывод всех команд, сохраняемых в памяти. Для перенаправления списка в файл можно использовать символ перенаправления (>) вместе с параметром /history. Допускается использование сокращения /h вместо /history. {/insert | /overstrike} Задание режима замены текста при вводе. Если используется параметр /insert, вводимый текст будет вставляться в старый (как при нажатии клавиши INSERT). При задании параметра /overstrike новый текст будет вводиться взамен старого. По умолчанию используется /overstrike. /exename=программа Задание программы (т. е. исполняемого файла), в которой выполняется макрос doskey. /macrofile=имя_файла Задание имени файла, содержащего макросы, которые требуется установить. имя_макроса=[текст] Создание макроса, который выполняет команды, заданные параметром текст. Параметр имя_макроса задает имя, которое присваивается данному макросу. Текст задает команды, которые записываются в макрос. Если параметр текст оставлен пустым, макрос имя_макроса не будет выполнять никаких команд. /? Отображение справки в командной строке.

Примечания

  • Использование Doskey.exe

    Программа Doskey.exe всегда доступна всем интерактивным программам, работающим в символьном режиме (таких как отладчики или программы копирования). Она поддерживает буфер выполнявшихся команд и макросы для каждой запущенной программы. Параметры командной строки doskey нельзя вызвать в программе. Эти параметры необходимо выполнить до запуска программы. Назначения комбинаций клавиш, сделанные в какой-либо программе, имеют приоритет перед назначениями команды doskey.

  • Повторный вызов команд

    Для повторного вызова команды можно использовать любую из нижеперечисленных клавиш. Если Doskey.exe используется в программе, клавиши, назначенные в этой программе, имеют приоритет.

    Клавиша

    Описание

    СТРЕЛКА ВВЕРХ

    Перемещение на одну команду назад в буфере команд.

    DOWN ARROW

    Перемещение на одну команду вперед в буфере команд.

    PAGE UP

    Перемещение в начало буфера команд.

    PAGE DOWN

    Перемещение в конец буфера команд.

  • Редактирование командных строк

    С помощью программы Doskey.exe можно редактировать текущую командную строку. Если Doskey.exe используется в другой программе, клавиши, заданные в этой программе, будут иметь приоритет и, возможно, не все клавиши редактирования Doskey.exe будут работать.

    В следующей таблице перечислены команды редактирования doskey.

    Клавиша или сочетание клавиш

    Описание

    СТРЕЛКА ВЛЕВО

    Перемещение курсора на один символ назад.

    СТРЕЛКА ВПРАВО

    Перемещение курсора на один символ вперед.

    CTRL + СТРЕЛКА ВЛЕВО

    Перемещение курсора на одно слово назад.

    CTRL + СТРЕЛКА ВПРАВО

    Перемещение курсора на одно слово вперед.

    HOME

    Перемещение курсора в начало строки.

    END

    Перемещение курсора в конец строки.

    ESC

    Удаление всех символов командной строки.

    F1

    Копирование одного символа из шаблона в ту же позицию в окне командной строки. (Шаблоном является буфер памяти, в котором содержится последняя выполнявшаяся команда.)

    F2

    Поиск в шаблоне символа, введенного после нажатия F2. Программа Doskey.exe вставит текст из шаблона до символа, который был задан.

    F3

    Копирование оставшейся части шаблона в командную строку. Doskey.exe начинает копирование с позиции в шаблоне, которая соответствует позиции курсора в командной строке.

    F4

    Удаление символов с текущей позиции курсора до указанного символа. Чтобы использовать эту клавишу редактирования, нажмите F4 и введите символ. Doskey.exe удалит текст от текущей позиции до первого появления заданного символа.

    F5

    Копирование шаблона в командную строку.

    F6

    Вставка символа конца файла (CTRL+Z) в текущую позицию курсора.

    F7

    Вывод всех команд, сохраненных в памяти. Используйте клавиши СТРЕЛКА ВВЕРХ и СТРЕЛКА ВНИЗ для выбора требуемой команды и клавишу ENTER для выполнения команды. Кроме того, номер данной команды, который выводится справа от текста команды, может быть использован с клавишей F9.

    ALT+F7

    Удаление всех команд, сохраненных в памяти в текущем буфере.

    F8

    Вывод всех команд из буфера команд, начинающихся с символов текущей команды.

    F9

    Вывод команды, соответствующей введенному номеру в буфере команд. Для запуска команды необходимо нажать ENTER. Для вывода всех номеров и соответствующих команд используется клавиша F7.

    ALT+F10

    Удаление всех макросов.

  • Использование doskey в программах

    Некоторые интерактивные программы с символьным интерфейсом, такие как отладчики программ или программы передачи файлов (FTP), автоматически используют программу Doskey.exe. Для использования Doskey.exe программа должна быть процессом окна командной строки и использовать буферизованный ввод. Назначения комбинаций клавиш, сделанные в какой-либо программе, имеют приоритет перед назначениями команды doskey. Например, если клавиша F7 используется в программе для вызова некоторой функции, вывести содержимое буфера команд программы doskey будет невозможно.

    Программа Doskey.exe поддерживает буфер команд для всех запущенных программ, что позволяет повторять и редактировать ранее вызывавшиеся из командной строки программы и запускать макросы doskey, созданные для этих программ. Если программа перезапускается в том же окне командной строки, все использованные ею команды доступны в буфере команд.

    Doskey.exe необходимо запустить перед выполнением программы. Параметрами doskey нельзя воспользоваться в командной строке другой программы, даже если в ней применяются команды оболочки операционной системы.

    Если требуется настроить режим работы программы Doskey.exe с какой-либо программой и создать макросы doskey для этой программы, можно создать пакетный файл, который сначала будет вызывать Doskey.exe с нужными параметрами, а затем запускать соответствующую программу.

  • Задание режима вставки по умолчанию

    Если нажата клавиша INSERT, текст можно вводить прямо в середину командной строки doskey без удаления предыдущего текста. Однако после нажатия клавиши ENTER режим замены восстанавливается. Для возвращения в режим вставки необходимо снова нажать INSERT.

    Для переключения клавиатуры в режим вставки при нажатии клавиши ENTER используйте параметр /insert. Этот режим сохраняется до тех пор, пока не будет задан параметр /overstrike. Нажатие клавиши INSERT временно восстанавливает режим замены, но при нажатии клавиши ENTER в программе Doskey.exe устанавливается режим вставки.

    Форма курсора изменяется при нажатии клавиши INSERT для смены режимов.

  • Создание макросов

    В программе Doskey.exe можно создавать макросы, выполняющие одну или несколько команд. В следующей таблице перечислены специальные символы, которые можно использовать для управления выполнением команд при записи макросов.

    Символ

    Описание

    $G или $g

    Перенаправление вывода. Оба эти символа могут быть использованы для направления вывода на устройство или в файл, а не на экран. Эти символы эквивалентны символу перенаправления (>).

    $G$G или $g$g

    Добавление вывода в конец файла. Обе эти двухсимвольные комбинации добавляют вывод к существующему файлу, а не заменяют данные в нем. Эти комбинации эквивалентны символу перенаправления вывода с добавлением (>>).

    $L или $l

    Перенаправление ввода. Оба эти символа используются для считывания ввода с устройства или из файла, а не с клавиатуры. Эти символы эквивалентны символу перенаправления ввода (<).

    $B или $b

    Направление вывода макроса другой команде. Использование этих специальных символов эквивалентно использованию канала (|) в командной строке.

    $T или $t

    Разделители команд. Символы используются при создании макросов или вводе команд в командной строке программы doskey. Использование этих специальных символов эквивалентно использованию амперсанда (&) в командной строке.

    $$

    Символ доллара ($).

    $1 до $9

    Символы замещения параметров командной строки при вызове макроса. Представляют собой пакетные параметры, позволяющие использовать различные данные в командной строке при каждом вызове программы. Символ $1 в программе doskey аналогичен символу %1 в пакетных программах.

    $*

    Содержит все параметры командной строки, заданные при вызове макроса. Специальный символ $* — это подставляемый символ, аналогичный пакетным параметрам с $1 по $9, но имеющий одно очень важное отличие: все, что введено в командной строке после имени макроса, подставляется вместо символа $* в макросе.

  • Вызов макросов команды doskey

    Для вызова макроса необходимо ввести его имя, начиная с первой позиции командной строки. Если в макросе используется параметр $* или какой-либо из параметров $1 – $9, вводите пробелы для разделения параметров. Вызов макросов doskey невозможен из пакетных программ.

  • Создание макросов с именами, совпадающими с именами команд Windows XP

    Если постоянно используется команда с определенными параметрами командной строки, можно создать макрос, имя которого будет совпадать с именем команды. Чтобы указать, что следует выполнить — макрос или команду, руководствуйтесь следующими инструкциями.

    • Для вызова макроса его имя должно вводиться с первой позиции командной строки без пробелов перед ним.
    • Для вызова команды перед ее именем, вводимым из командной строки, следует ввести один или несколько пробелов.
  • Удаление макроса

    Чтобы удалить макрос, введите следующую команду:

    doskey имя_макроса=

Примеры

Параметры /macros и /history полезны при создании пакетных программ для сохранения макросов и команд. Например, для сохранения всех текущих макросов doskey введите следующую команду:

doskey /macros > macinit

Чтобы воспользоваться макросами из файла Macinit, введите следующую команду:

doskey /macrofile=macinit

Чтобы создать пакетную программу Tmp.bat, которая содержит ранее использованные команды, введите следующую команду:

doskey /history > tmp.bat

Чтобы создать макрос с несколькими командами, следует использовать символ $t для разделения команд:

doskey tx=cd temp$tdir/w $*

В предыдущем примере макрос TX изменяет текущий каталог на каталог Temp и выводит список каталогов в расширенном формате. Символ $* можно использовать в конце макроса для задания дополнительных параметров команды dir при вызове макроса TX.

Следующий макрос использует пакетный параметр для задания нового имени каталога.

doskey mc=md $1$tcd $1

Макрос создает каталог, а затем делает его текущим.

Чтобы использовать предыдущий макрос для создания каталога Books, введите следующую команду:

mc books

Чтобы создать макрос doskey для программы Ftp.exe, задайте параметр /exename:

doskey /exename:ftp.exe go=open 10.127.1.100$tmget *.TXT c:\reports$bye

Чтобы воспользоваться предыдущим макросом, запустите программу ftp. В командной строке программы ftp введите следующую команду:

go

Программа ftp последовательно выполнит команды open, mget и bye.

Чтобы создать макрос, который выполняет быстрое копирование гибкого диска без подтверждения, введите следующую команду:

doskey qf=format $1 /q /u

Чтобы выполнить быстрое форматирование диска в дисководе A без подтверждения, введите следующую команду:

qf a:

 
< Dos   Dosonly >

Сервер NTP

Время, полученное с NTP-сервера. Для просмотра должен быть разрешён Java-script.
Время, полученное с Вашего компьютера. Для просмотра должен быть разрешён Java-script.

Доступ к серверу NTP первого стратума
Подробнее

На форуме

Лента RSS

Mobatime - Автору - Рекламодателю - Веб-мастеру - Контакт - История - Наверх
© Владислав Семёнов aka SavageNoName 2003-2016
При любом использовании материалов ссылка на WindowsFAQ.ru обязательна
Сайту 12 лет, 7 месяцев и 12 дней. Форуму 15 лет, 11 месяцев и 25 дней.