Страницы: 1 .. 37 38 39 40 41 .. 282
Doskey
Вызов программы 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:
1 .. 37 38 39 40 41 .. 282