转自: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. [ 搭建Redis本地服务器实践系列 ] :序言

    说起来,是在一个气候适宜的下午,虽然临近下班,不过办公室里还是充满了忙碌的身影,不时的还会从办公区传来小伙伴们为了一个需求而激烈争论的声音,自从入了互联网这个行业,说实话,也就很少休息了,当然了也不全 ...

  2. 【转】深入理解margin

    由浅入深漫谈margin属性 2007-3-18 上午 - HTML/CSS/XML/XSL - CSS - margin margin 在中文中我们翻译成外边距或者外补白(本文中引用外边距).他是元 ...

  3. SSM-SpringMVC-20:SpringMVC中处理器方法之返回值void篇

      ------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- 处理器的方法我们之前做过,返回值为String的,返回值为ModelAndView的,我们这个讲的这个返回 ...

  4. HTML学习之制作导航网页

    前言 今天用HTML写了一个网址导航,源代码如下: <html> <head> <title>网址导航</title> </head> &l ...

  5. mac里用PyCharm中引用MySqlDB始末

    本来想用java来连数据库,然后调用python的,后来想了想,反正是个实验性质的小工程何必搞的这么复杂.直接全部python就好了,于是就为这个想法填了一晚上的坑. 装好了PyCharm的CE版,然 ...

  6. selenium 定位元素成功, 但是输入失败 (textarea)

    问题描述 UI页面功能测试中, 定位元素并输入(通过sendKey()方法输入), 显示输入失败. 根本原因 为了修复一个bug, 这个元素从input改成了textarea, 而textarea是有 ...

  7. Poi2010 Monotonicity 2

    树状数组优化dp 可以证明最优解一定是通过之前的最优转移过来的,所以每一个点只需要保存以该节点为结尾的最长长度即可 对于不同符号,等于号维护数组,大于小于维护树状数组 #include<cstd ...

  8. POJ_1269_Intersecting Lines_求直线交点

    POJ_1269_Intersecting Lines_求直线交点 Description We all know that a pair of distinct points on a plane ...

  9. 学会python可以上天!20行代码获取斗鱼平台房间数据,就是这么牛逼!

    Python(发音:英[?pa?θ?n],美[?pa?θɑ:n]),是一种面向对象.直译式电脑编程语言,也是一种功能强大的通用型语言,已经具有近二十年的发展历史,成熟且稳定.它包含了一组完善而且容易理 ...

  10. 434个H5游戏源码

    各种类型HTML5游戏,界面和JS均可供项目参考 下面是下载地址