调用 Doskey.exe,它重调以前输入的命令行命令、编辑命令行并创建宏。
doskey [/reinstall] [/listsize=<size>] [/macros:[all | <exename>] [/history] [/insert | /overstrike] [/exename=<exename>] [/macrofile=<filename>] [<macroname>=[<text>]]
<macroname>
=[<text>
]
创建执行 Text 指定的命令的宏。 MacroName 指定要分配给宏的名称。 Text 指定要记录的命令。 如果 Text 留空,则会清除 MacroName 中的任何已分配命令。
在命令提示符下显示帮助。
某些基于字符的交互式程序(如程序调试器或文件传输程序 (FTP))自动使用 Doskey.exe。 若要使用 Doskey.exe,程序必须是控制台进程并使用缓冲输入。 程序键分配会替代 doskey 键分配。 例如,如果程序对某个功能使用 F7 键,则你无法在弹出窗口中获取 doskey 命令历史记录。
可以使用 Doskey.exe 编辑当前命令行,但不能从程序的命令提示符中使用命令行选项。 在启动程序之前,必须运行 doskey 命令行选项。 如果在某个程序中使用 Doskey.exe,则该程序的键分配优先,并且某些 Doskey.exe 编辑键可能无法正常工作。
使用 Doskey.exe,可以为启动或重复的每个程序维护命令历史记录。 可以在程序提示符下编辑以前的命令,并启动为程序创建的 doskey 宏。 如果退出然后从同一命令提示符窗口重新启动程序,则上一个程序会话的命令历史记录可用。
若要重调某个命令,可以在启动 Doskey.exe 后使用以下任意键:
在对话框中显示存储在内存中的此程序的所有命令。 使用向上箭头键和向下箭头键选择所需的命令,然后按 Enter 运行命令。 还可以记下命令前的序列号,并将此序列号与 F9 键结合使用。
Alt+F7
删除存储在内存中的当前历史记录缓冲区的所有命令。
显示历史记录缓冲区中以当前命令中的字符开头的所有命令。
提示输入历史记录缓冲区命令编号,然后显示与指定编号关联的命令。 按 Enter 以运行该命令。 若要显示所有编号及其关联的命令,请按 F7。
Alt+F10
删除所有宏定义。
如果按 INSERT 键,则可以在 doskey 命令行上的现有文本中间键入文本,而无需替换文本。 但是,按 Enter 后,Doskey.exe 将键盘返回到“替换”模式。 必须再次按 INSERT 才能返回到“插入”模式。
使用 INSERT 键从一种模式更改为另一种模式时,插入点会更改形状。
如果要自定义 Doskey.exe 如何使用程序并为该程序创建 doskey 宏,可以创建一个批处理程序来修改 Doskey.exe 并启动该程序。
可以使用 Doskey.exe 创建执行一个或多个命令的宏。 下表列出了定义宏时可用于控制命令操作的特殊字符。
$1
到 $9
表示运行宏时要指定的任何命令行信息。 特殊字符 $1
到 $9
是批处理参数,使你能够在每次运行宏时在命令行上使用不同的数据。 doskey 命令中的 $1
字符类似于批处理程序中的 %1
字符。
表示在键入宏名称时要指定的所有命令行信息。 特殊字符 $*
是一个可替换的参数,类似于批处理参数 $1
到 $9
,但有一个重要区别:在宏名称之后,在命令行上键入的所有内容都替换为宏中的 $*
。
若要运行宏,请在命令提示符处从第一个位置开始键入宏名称。 如果宏是使用 $*
或 $1
到 $9
的任何批处理参数定义的,请使用空格分隔参数。 不能从批处理程序中运行 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,然后以宽显示格式显示目录列表。 运行 tx 选项时,可以在宏末尾使用 $*
将其他命令行选项追加到 dir。
以下宏对新目录名称使用批处理参数:
doskey mc=md $1$tcd $1
宏创建一个新目录,然后从当前目录更改为新目录。
若要使用上述宏创建并更改为名为 Books 的目录,请键入:
mc books
若要为名为 Ftp.exe 的程序创建 doskey 宏,请包括 /exename,如下所示:
doskey /exename=ftp.exe go=open 172.27.1.100$tmget *.TXT c:\reports$tbye
若要使用上述宏,请启动 FTP。 在 FTP 提示符处,键入:
FTP 运行 open、mget 和 bye 命令。
若要创建可快速且无条件地格式化磁盘的宏,请键入:
doskey qf=format $1 /q /u
若要在驱动器 A 中快速且无条件地格式化磁盘,请键入:
qf a:
若要删除名为 vlist 的宏,请键入:
doskey vlist =
命令行语法项