`

Windows命令行中, 类似于linux的history命令

阅读更多

在写这篇博客的时候: ImageMagick: 图像处理工具包(使用它在图片中插入文字注释)

我在windows的命令行中, 利用了ImageMagick的命令行工具, 进行了多种尝试.

因为不同的参数会产生不同的效果, 所以我想记录下来我使用过的命令, 以及他们的参数(这些参数好长好长...).

 

于是我随手键入了history,

发现得到的回答是"history 不是内部或外部命令,也不是可运行的程序或批处理文件。"

 

用了这么久的windows,

仿佛这是我第一次想把history保存下来呢?

也许是因为以前使用的那些命令的参数都不够复杂,

也许是对于一些复杂的应用, 我都会封装成单独的脚本

 

总之这次感觉很强烈, 于是, 经过调查, 在这个链接:Display Command History , 发现正解如下:

显示history的命令:

DOSKEY /history

 

如果这个命令不好用, 使用下面命令重新安装DOSKEY

DOSKEY /reinstall

 

 

 

顺便详细看了一下DOSKEY这个命令,

原来这个命令是可以在命令行中定义宏的.

msdn的连接如下(在这个连接中, 我还知道了Alt+F7这个快捷键, 虽然没有F7更令人高兴, 但也算实用):

Doskey #MSDN

 

下面这个连接有一些不同的例子

DOSKEY and Command Macros #The Windows NT Command Shell

 

参照上面的连接, 我们可以这样使用DOSKEY(关于下面命令的详细解析,参考上面两个连接)

定义ls命令
C:\>doskey ls=dir $*

 

The following macro definition creates a command that displays the user name of the currently logged-on user:
1. C:\>doskey myname=for /f "delims=\ tokens=2" %i in ('whoami') do @echo %i
2. C:\>myname
3. TimHill
 
This example creates a DIRCOUNT macro that counts the number of directories in a specified directory
C:\>doskey dircount=dir $* $B find "<DIR>" /c
 
Macros can be used with any Windows NT application which accepts line-by-line command input. However, each macro is explicitly defined for a specific application. By default, macros are defined for use by the command shell, CMD.EXE. The /EXENAME switch defines a macro for another application. For example, to define an EXIT macro for use with FTP, enter:
C:\>doskey /exename=ftp.exe exit=bye
 

对于上面的命令, 我更喜欢使用gunwin32,或者自己编写脚本来实现,

但是既然看到这里了便记录下来, 说不定将来什么时候能用上.

 

 

 

顺着这次调查, 我还来到了这里:

How To Use Automatic Completion with a Command Prompt in Windows XP

在这里知道了如何在cmd命令行中, 自动补全文件名(以及,文件夹名)

 

 

 

我以前写的一些关于windows命令行的博客:

扩展Windows命令行窗口(cmd),支持复制粘贴等操作

Windows命令行窗口中的快捷键
Windows: 也谈“触手可及的命令提示符”

 

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics