調(diào)用 Doskey.exe,它可以撤回以前輸入的命令行命令、編輯命令行并創(chuàng)建宏。
Doskey.exe 對所有基于字符的、交互式程序(例如程序調(diào)試程序或文件傳送程序)總是可用的,并為每個(gè)啟動的程序維護(hù)命令歷史緩沖區(qū)和宏。不能從某個(gè)程序中直接使用 doskey 命令行。啟動程序之前必須運(yùn)行 doskey 命令行選項(xiàng)。程序按鍵分配忽略 doskey 按鍵分配。
要撤回命令,可以在啟動 Doskey.exe 之后使用如下任意鍵。如果在一個(gè)程序中使用 Doskey.exe,則該程序按鍵優(yōu)先分配。
按鍵 | 描述 |
---|---|
向上鍵 | 撤回在顯示之前使用的命令。 |
向下鍵 | 撤回在顯示之后使用的命令。 |
Page Up | 撤回當(dāng)前會話中使用最早的命令。 |
Page Down | 撤回最近使用的命令。 |
通過 Doskey.exe,可以編輯當(dāng)前命令行。如果在程序中使用 Doskey.exe,則該程序的鍵值優(yōu)先,并且有些 Doskey.exe 的編輯按鍵可能不能正常工作。
下表列出 doskey 編輯按鍵及其功能。
按鍵或按鍵組合 | 描述 |
---|---|
向左鍵 | 將插入點(diǎn)向左移動一個(gè)字符。 |
向右鍵 | 將插入點(diǎn)向右移動一個(gè)字符。 |
Ctrl+向左鍵 | 將插入點(diǎn)向左移動一個(gè)字。 |
Ctrl+向右鍵 | 將插入點(diǎn)向右移動一個(gè)字。 |
Home | 將插入點(diǎn)移動到行首。 |
End | 將插入點(diǎn)移動到行尾。 |
Esc | 清除顯示的命令。 |
F1 | 將模板中相同欄目的字符復(fù)制到命令提示符窗口中的相同欄目中。(模板是指保存上一次鍵入命令的內(nèi)存緩沖區(qū)。) |
F2 | 按下 F2 后在模板中向前搜索鍵入的下一個(gè)按鍵。Doskey.exe 從模板插入文本直到(但不包含)指定的字符。 |
F3 | 將模板的剩余部分復(fù)制到命令行。Doskey.exe 從模板上與命令行上插入點(diǎn)所表明的位置相對應(yīng)的位置開始復(fù)制字符。 |
F4 | 刪除從當(dāng)前插入點(diǎn)位置到指定字符的所有字符。要使用該編輯按鍵,請按 F4 并鍵入字符。Doskey.exe 刪除從當(dāng)前插入點(diǎn)位置到指定的第一個(gè)字母間的字符。 |
F5 | 將模板復(fù)制到當(dāng)前命令行。 |
F6 | 在當(dāng)前插入點(diǎn)位置放置文件結(jié)束符 (Ctrl+Z)。 |
F7 | 在對話框中顯示存儲在內(nèi)存中此程序的所有命令。使用向上鍵和向下鍵選擇需要的命令,然后按 Enter 運(yùn)行命令。也可以在命令前標(biāo)注序列號,并將該號碼與 F9 鍵一起使用。 |
Alt+F7 | 刪除保存在歷史記錄緩沖區(qū)內(nèi)存中的所有命令。 |
F8 | 顯示用當(dāng)前命令中字符開始的歷史緩沖區(qū)中的所有命令。 |
F9 | 提示您輸入歷史緩沖命令號,然后顯示與您指定的號碼相關(guān)聯(lián)的命令。按 Enter 運(yùn)行命令。要顯示所有號碼及相關(guān)的命令,請按 F7。 |
Alt+F10 | 刪除所有宏定義。 |
某些基于字符的交互式程序,例如,程序調(diào)試程序或文件傳輸程序 (FTP),會自動使用 Doskey.exe。要使用 Doskey.exe,程序必須是控制臺進(jìn)程并使用緩沖輸入。程序按鍵分配忽略 doskey 按鍵分配。例如,如果該程序使用 F7 鍵執(zhí)行某項(xiàng)功能,您就無法在彈出式窗口中獲得 doskey 命令歷史。
通過 Doskey.exe,可以維護(hù)所啟動的每個(gè)程序的命令歷史,在程序的提示符窗口中重復(fù)和編輯以前的命令,以及啟動為該程序創(chuàng)建的 doskey 宏。如果退出并從同一命令提示符窗口重新啟動程序,那么以前程序會話中的命令歷史是可用的。
啟動程序之前必須運(yùn)行 Doskey.exe。即使程序有 shell 命令,也不能從程序命令提示符使用 Doskey 命令。
如果要自定義 Doskey.exe 如何配合程序工作,并為該程序創(chuàng)建 doskey 宏,可以創(chuàng)建修改 Doskey.exe 并啟動程序的批處理程序。
按 Insert 鍵,就可以在舊文本中間的 Doskey 命令行上鍵入文本而不替換舊文本。但是,在按下 Enter 后,Doskey.exe 將鍵盤返回到替換模式。必須再次按 Insert 返回到插入模式。
每次按下 Enter 時(shí),使用 /insert 將鍵盤切換至插入模式。在使用 /overstrike 之前,鍵盤將有效地保留在插入模式。按 Insert 鍵可以臨時(shí)返回到替換模式;但是在按 Enter 后,Doskey.exe 將使鍵盤返回到插入模式。
當(dāng)使用 Insert 鍵從一種模式改到另一種模式時(shí)插入點(diǎn)更改形狀。
可以使用 Doskey.exe 創(chuàng)建執(zhí)行一個(gè)或多個(gè)命令的宏。下表列出定義宏時(shí)可用來控制命令操作的特殊字符。
字符 | 描述 |
---|---|
$G 或 $g | 重定向輸出。使用任意特殊字符將輸出發(fā)送到設(shè)備或文件而不是發(fā)送到屏幕。該字符與輸出的重定向符號 (<) 等價(jià)。 |
$G$G 或 $g$g | 將輸出附加到文件結(jié)尾。使用特殊雙字符將輸出附加到現(xiàn)有文件而不是替換文件中的日期。這些雙重字符與輸出的附加重定向符號 (>>) 等價(jià)。 |
$L 或 $l | 重定向輸入。使用任意特殊字符從設(shè)備或文件而不是從鍵盤讀取輸入。該字符與輸入的重定向符號 (<) 等價(jià)。 |
$B 或 $b | 將宏輸出發(fā)送給命令。這些特殊字符與使用命令行上的管道字符 (|) 等價(jià)。 |
$T 或 $t | 分隔命令。創(chuàng)建宏或在 Doskey 命令行上鍵入命令時(shí)使用任一特殊字符分隔命令。這些特殊字符與使用命令行上的 &(即“與”)等價(jià)。 |
$$ | 指定美元符號字符 ($)。 |
代表運(yùn)行宏時(shí)要指定的任何命令行信息。特殊字符 $1 到 $9 是批處理參數(shù),它可能使您每次運(yùn)行宏時(shí)在命令行上使用不同的數(shù)據(jù)。doskey 命令中的 $1 字符類似于批處理程序中的 %1 字符。 | |
$* | 代表鍵入宏名稱時(shí)要指定的所有命令行信息。特殊字符 $* 是可替換參數(shù),這與批處理參數(shù) “到 $9 相似,但有一個(gè)重要的差異。此處,在宏名后命令行上鍵入的所有內(nèi)容替換宏中的 $*。 |
要運(yùn)行宏,請?jiān)诿钚械拈_始位置鍵入宏名。如果使用 $* 或任何批處理參數(shù) $1 到 $9 定義了宏,請使用空格來分隔參數(shù)。不能從批處理程序運(yùn)行 doskey 宏。
如果總是通過特定命令行選項(xiàng)使用某個(gè)命令,則可以創(chuàng)建具有與該命令相同名稱的宏。要指定是否要運(yùn)行宏或該命令,請遵循以下指導(dǎo)原則:
要刪除宏,請鍵入:
doskey MacroName=
/macros 和 /history 命令行選項(xiàng)對于創(chuàng)建保存宏和命令的批處理程序非常有用。例如,要存儲所有當(dāng)前的 doskey 宏,請鍵入:
doskey /macros > macinit
要使用存儲在 Macinit 中的宏,請鍵入:
doskey /macrofile=macinit
要創(chuàng)建包含最近使用命令的批處理程序 Tmp.bat,請鍵入:
doskey /history > tmp.bat
用多個(gè)命令定義宏,請使用 $t 分隔命令,如下所示:
doskey tx=cd temp$tdir/w $*
在上例中,TX 宏將當(dāng)前目錄更改為 Temp,然后使用寬顯示格式顯示目錄列表。在宏的結(jié)尾使用 $*,可以在運(yùn)行 TX 時(shí)將其他命令行選項(xiàng)附加到 dir 上。
下列宏使用新目錄名的批處理參數(shù):
doskey mc=md $1$tcd $1
宏首先創(chuàng)建新的目錄然后從當(dāng)前目錄對其進(jìn)行更改。
要使用以前的宏以創(chuàng)建和更改到名為 Books 的目錄,請鍵入:
mc books
要為名為 Ftp.exe 的程序創(chuàng)建 doskey 宏,請如下面所示將 /exename 包括在內(nèi):
doskey /exename=ftp.exe go=open 172.27.1.100$tmget *.TXT c:\reports$tbye
要使用以前的宏,請啟動 ftp。在 ftp 提示符下,鍵入:
go
Ftp 將執(zhí)行 open、mget 及 bye 命令。
要創(chuàng)建執(zhí)行快速而無條件的磁盤格式的宏,請鍵入:
doskey qf=format $1 /q /u
要快速而無條件地格式化驅(qū)動器 A 中的磁盤,請鍵入:
qf a:
格式 | 含義 |
---|---|
斜體 | 用戶必須提供的信息 |
粗體 | 用戶必須準(zhǔn)確鍵入的要顯示的元素 |
省略號 (...) | 在命令行中可多次重復(fù)的參數(shù) |
中括號 ([]) | 可選項(xiàng) |
大括號 ({});選項(xiàng)用豎線 (|) 分隔。例如:{even|odd} | 用戶必須從選項(xiàng)集合中選擇一個(gè) |
Courier 字體 | 代碼或程序輸出 |