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: 也談“觸手可及的命令提示符”

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章