轉自:https://blog.csdn.net/u012993732/article/details/48626921 調用 Doskey.exe,它撤回 Windows XP 命令、編輯命令行並創建巨集。 MS-DOS命令語法 doskey {/reinstall | /listsize=size ...
轉自: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