转自:https://blog.csdn.net/u012993732/article/details/48626921

调用 Doskey.exe,它撤回 Windows XP 命令、编辑命令行并创建宏。

MS-DOS命令语法

doskey {/reinstall | /listsize=size | /macros:[{all | exename}] | /history | /insert | /overstrike | /exename=exename | /macrofile=FileName | macroname=[text]}

MS-DOS命令参数

/reinstall
安装 Doskey.exe 的新副本。清除命令历史缓冲区。
/listsize=size
指定历史缓冲区中的最多命令数。
/macros
显示所有 Doskey 宏的列表。可以使用带有 /macros 的重定向符 (>) 将列表重定向到文件。可以将 /macros 缩写为 /m。
all
显示所有可执行程序的 doskey 宏。
exename
显示指定的可执行程序的 doskey 宏。
/history
显示存储在内存中的所有命令。可以使用带有 /history 的重定向符 (>) 将列表重定向到文件。可以将 /history 缩写为 /h。
{/insert | /overstrike}
指定键入的新文本是否要替换旧文本。如果使用 /insert,在行上键入的新文本被插入到旧文本中(就象您已经按下 INSERT 键一样)。如果使用 /overstrike,新文本替代旧文本。默认设置为 /overstrike。
/exename=exename
指定运行 doskey 宏的程序(即,可执行程序)。
/macrofile=FileName
指定包含要安装宏的文件。
macroname=[text]
创建执行由 text 指定的命令的宏。Macroname 指定要指派给宏的名称。Text 指定要记录的命令。如果 text 保留为空,macroname 将清除所有指派的命令。
/?
在命令提示符显示帮助。

MS-DOS命令注释

  • 使用 Doskey.exe

    Doskey.exe 对所有基于字符的、交互式程序(例如程序调试程序或文件传送程序)总是可用的,并为每个启动的程序维护命令历史缓冲区和宏。不能从某个程序中直接使用 doskey 命令行。启动程序之前必须运行 doskey 命令行选项。程序按键分配忽略 doskey 按键分配。

  • 撤回命令

    要撤回命令,可以在启动 Doskey.exe 之后使用如下任意键。如果在某程序内使用 Doskey.exe,则该程序的键值优先。

    说明
    向上箭 撤回在显示之前使用的命令。
    向下箭 撤回在显示之后使用的命令。
    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。即使程序有 shell 命令,也不能从程序命令提示符使用 Doskey 命令。

    如果要自定义 Doskey.exe 如何配合程序工作,并为该程序创建 doskey 宏,可以创建修改 Doskey.exe 并启动程序的批处理程序。

  • 指定默认插入模式

    按 INSERT 键,就可以在旧文本中间的 Doskey 命令行上键入文本而不替换旧文本。但是,在按下 ENTER 后,Doskey.exe 将键盘返回到替换模式。必须再次按 INSERT 返回到插入模式。

    当按下 ENTER 时,使用 /insert 使键盘处于插入模式。在使用 /overstrike 之前,键盘将有效地保留在插入模式。按 INSERT 键可以临时返回到替换模式;但是在按 ENTER 后,Doskey.exe 将使键盘返回到插入模式。

    当使用 INSERT 键从一种模式改到另一种模式时插入点更改形状。

  • 创建宏

    可以使用 Doskey.exe 创建执行一个或多个命令的宏。下表列出定义宏时可用来控制命令操作的特殊字符。

    字符 说明
    $G 或 $g 重定向输出。使用任意特殊字符将输出发送到设备或文件而不是发送到屏幕。该字符与输出的重定向符号 (<) 等价。
    $G$G 或 $g$g 将输出附加到文件结尾。使用特殊双字符将输出附加到现有文件而不是替换文件中的日期。这些双重字符与输出的附加重定向符号 (>>) 等价。
    $B 或 $b 重定向输入。使用任意特殊字符从设备或文件而不是从键盘读取输入。该字符与输入的重定向符号 (<) 等价。
    $B 或 $b 将宏输出发送给命令。这些特殊字符与使用命令行上的管道字符 (|) 等价。
    $T 或 $t 分隔命令。创建宏或在 Doskey 命令行上键入命令时使用任一特殊字符分隔命令。这些特殊字符与使用命令行上的 & (即“与”)等价。
    $$ 指定美元符号字符 ($)。
    $1 到 $9 代表运行宏时要指定的任何命令行信息。特殊字符 $1 到 $9 是批处理参数,它可能使您每次运行宏时在命令行上使用不同的数据。doskey 命令中的 “ 字符类似于批处理程序中的 %1 字符。
    $* 代表键入宏名称时要指定的所有命令行信息。特殊字符 $* 是可替换参数,这与批处理参数 “到 $9 相似,但有一个重要的差异。此处,在宏名后命令行上键入的所有内容替换宏中的 $*。
  • 运行 doskey 宏

    要运行宏,请在命令行的开始位置键入宏名。如果使用 $* 或任何批处理参数 $1 到 $9 定义了宏,请使用空格来分隔参数。不能从批处理程序运行 doskey 宏。

  • 创建与 Windows XP 命令同名的宏

    如果总是通过特定命令行选项使用某个命令,则可以创建具有与该命令相同名称的宏。要指定是否要运行宏或该命令,请遵循以下指导原则:

    • 要运行宏,在命令提示符后立即键入宏,在提示符和命令名之间没有空格。
    • 要运行命令,请在命令提示符和命令名间插入一个或多个空格。
  • 删除宏

    要删除宏,请键入:

    doskey macroname=

MS-DOS命令范例

/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,然后使用宽显示格式显示目录列表。在宏的结尾使用 $*,可以在运行 TX 时将其它命令行选项附加到 dir 上。

下列宏使用新目录名的批处理参数。

doskey mc=md $1$tcd $1

宏首先创建新的目录然后从当前目录对其进行更改。

要使用以前的宏以创建和更改到名为 Books 的目录,请键入:

mc books

要为名为 Ftp.exe 的程序创建 doskey 宏,请如下面所示将 /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

Doskey命令详解的更多相关文章

  1. net user命令详解

    net use \\ip\ipc$ " " /user:" " 建立IPC空链接 net use \\ip\ipc$ "密码" /user: ...

  2. DOS常用命令详解

    DOS常用命令详解 dir 列文件名 deltree 删除目录树 cls 清屏 cd 改变当前目录 copy 拷贝文件 diskcopy 复制磁盘 del 删除文件 format 格式化磁盘 edit ...

  3. Git初探--笔记整理和Git命令详解

    几个重要的概念 首先先明确几个概念: WorkPlace : 工作区 Index: 暂存区 Repository: 本地仓库/版本库 Remote: 远程仓库 当在Remote(如Github)上面c ...

  4. linux yum命令详解

    yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器.基於RPM包管理,能够从指定的服务器自动下载RP ...

  5. Linux下ps命令详解 Linux下ps命令的详细使用方法

    http://www.jb51.net/LINUXjishu/56578.html Linux下的ps命令比较常用 Linux下ps命令详解Linux上进程有5种状态:1. 运行(正在运行或在运行队列 ...

  6. Docker命令详解

    Docker命令详解   最近学习Docker,将docker所有命令实验了一番,特整理如下: # docker --help Usage: docker [OPTIONS] COMMAND [arg ...

  7. linux awk命令详解

    linux awk命令详解 简介 awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大.简单来说awk就是把文件逐行的读入,以空格为默认分 ...

  8. android adb 命令详解

    ADB (Android Debug Bridge)  是android SDK中的工具,需要先配置环境变量才能使用.起调试桥的作用,可以管理安卓设备.(也叫debug工具) ---------查看设 ...

  9. Git 常用命令详解

    Git 是一个很强大的分布式版本管理工具,它不但适用于管理大型开源软件的源代码(如:linux kernel),管理私人的文档和源代码也有很多优势(如:wsi-lgame-pro) Git 的更多介绍 ...

随机推荐

  1. 利用vue-router和compoment重构代码--踩坑(一)

    业务主要功能 获取所有的数据库列表 点击某一个数据库列表的时候,右侧分页展示数据 点击右侧某一条数据的时候,现实数据详情 以下是之前的页面,存在以下问题: 前段开发没有工程化(webpack) 主要功 ...

  2. CAS 4.0.x 自定义登录页面

    版权声明:本文为博主原创文章,未经博主允许不得转载.   目录(?)[-] CAS默认登录页面 复制一个新的页面管理页面 修改页面引用 修改casproperties 修改casLoginViewjs ...

  3. hessian在ssh项目中的配置

    一. 在服务端发布一个web项目 1.创建一个动态的web项目,并导入hessian的jar包 2. 在服务端的crm项目中创建接口 package cn.rodge.crm.service;impo ...

  4. java项目中通过添加filter过滤器解决ajax跨域问题

    1.在web.xml添加filter <filter> <filter-name>contextfilter</filter-name> <filter-cl ...

  5. SSM框架+MySql保存emoji表情

    本博客的记录的操作在linux 项目中需要从微信获取授权来登录,在此过程,保存微信emoji表情昵称到mysql数据库的时候出了错误. 老规矩百度一下,得知是mysql的utf8字符集只支持1-3个字 ...

  6. Get Docker CE for CentOS

    To get started with Docker CE on CentOS, make sure you meet the prerequisites, then install Docker. ...

  7. 为什么选择Spring Boot作为微服务的入门级微框架

    摘要:1. Spring Boot是什么,解决哪些问题 1) Spring Boot使编码变简单 2) Spring Boot使配置变简单 3) Spring Boot使部署变简单 4) Spring ...

  8. Jodd

    Jodd = tools + ioc + mvc + db + aop + tx + json + html < 1.7 Mb Jodd is set of Java microframewor ...

  9. 远程服务器使用phantomjs报错:phantomjs unexpectedly exited. Status code was: 127

    原因是因为缺少phantomjs运行的依赖包 Ubuntu尝试: sudo apt-get install libfontconfig centos尝试: 用wget安装phantomjs依赖的lib ...

  10. BZOJ_3210_花神的浇花集会_切比雪夫距离

    BZOJ_3210_花神的浇花集会_切比雪夫距离 Description 在花老师的指导下,每周4都有一个集会活动,俗称“浇水”活动. 具体浇水活动详情请见BZOJ3153 但这不是重点 花神出了好多 ...