共用方式為


DosKey

呼叫 Doskey.exe,這會重新叫用先前輸入的命令行命令、編輯命令行,以及建立巨集。

語法

doskey [/reinstall] [/listsize=<size>] [/macros:[all | <exename>] [/history] [/insert | /overstrike] [/exename=<exename>] [/macrofile=<filename>] [<macroname>=[<text>]]

參數

參數 說明
/安裝 安裝新的 Doskey.exe 複本,並清除命令歷程記錄緩衝區。
/清單大小=<size> 指定歷程記錄緩衝區中的命令數目上限。
/巨集 顯示所有 doskey 巨集的清單。 您可以使用重新導向符號 (>) 搭配 /macros,將清單重新導向至檔案。 您可以縮寫 /macros/m
/macros:all 顯示所有可執行檔的 doskey 巨集。
/macros:<exename> 針對 exename所指定的可執行文件,顯示 doskey 巨集。
/歷史 顯示儲存在記憶體中的所有命令。 您可以使用重新導向符號 (>) 搭配 /history,將清單重新導向至檔案。 您可以將 /history 縮寫為 /h /h
/插入 指定您輸入的新文字會插入舊文字中。
/overstrike 指定新文字會覆寫舊文字。
/exename=<exename> 指定執行巨集 doskey 的程式(也就是可執行檔)。
/巨集檔=<filename> 指定包含您要安裝的巨集的檔案。
<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之後使用下列任一密鑰:

    鑰匙 說明
    向上鍵 回想您在顯示之前使用的命令。
    下箭頭 回想一下您在顯示之後使用的命令。
    上翻頁 回想您在目前會話中使用的第一個命令。
    下一頁 回想您在目前會話中使用的最新命令。
  • 下表列出 doskey 編輯索引鍵及其功能:

    按鍵或按鍵組合 說明
    左箭頭 將插入點移回一個字元。
    右箭頭 將插入點向前移動一個字元。
    CTRL+向左鍵 將插入點往回移動一個字。
    CTRL+向右鍵 將插入點向前移動一個字。
    將插入點移至行的開頭。
    結束 將插入點移至行尾。
    ESC 從顯示器清除命令。
    F1 從範本中的數據行將一個字元複製到命令提示字元視窗中的相同數據行。 (此範本是一個記憶體緩衝區,其中包含您輸入的最後一個命令。
    F2 在範本中向前搜尋您在按下 F2 之後輸入的下一個按鍵。 Doskey.exe 會從範本插入文字,但不包含您指定的字元。
    F3 將範本的其餘部分複製到命令行。 Doskey.exe 會開始從範本中的位置複製字元,該位置對應至命令行上插入點所指示的位置。
    F4 從目前插入點位置刪除所有字元,但不包括在您按下 F4 之後輸入的下一個字元。
    F5 系列 將範本複製到目前的命令列。
    F6 將檔尾字元 (CTRL+Z) 放在目前的插入點位置。
    F7 顯示 [在對話框中] 此程式儲存在記憶體中的所有命令。 使用向上鍵和向下鍵來選取您想要的命令,然後按 ENTER 來執行命令。 您也可以記下命令前面的序號,並搭配 F9 鍵使用此數位。
    ALT+F7 刪除目前歷程記錄緩衝區內存中儲存的所有命令。
    F8 顯示歷程記錄緩衝區中以目前命令中的字元開頭的所有命令。
    F9 提示您輸入歷程記錄緩衝區命令編號,然後顯示與您指定的數字相關聯的命令。 按 ENTER 鍵以執行命令。 若要顯示所有數位及其相關聯的命令,請按 F7。
    Alt+F10 刪除所有巨集定義。
  • 如果您按下 INSERT 鍵,您可以在現有文字中輸入 doskey 命令行上的文字,而不取代文字。 不過,按 ENTER 鍵之後,Doskey.exe 會將鍵盤傳回 取代 模式。 您必須再次按 INSERT,才能返回 插入 模式。

  • 當您使用 INSERT 鍵從某個模式變更為另一個模式時,插入點會變更圖形。

  • 如果您想要自定義 Doskey.exe 與程式搭配運作的方式,並針對該程式建立 doskey 巨集,您可以建立可修改 Doskey.exe 並啟動程式的批次程式。

  • 您可以使用 Doskey.exe 來建立執行一或多個命令的巨集。 下表列出您可以在定義巨集時用來控制命令作業的特殊字元。

    角色 說明
    $G$g 重新導向輸出。 使用這些特殊字元之一,將輸出傳送至裝置或檔案,而不是傳送到畫面。 此字元相當於輸出的重新導向符號 (>)。
    $G$G$g$g 將輸出附加至檔案的結尾。 使用這兩個雙字元之一,將輸出附加至現有的檔案,而不是取代檔案中的數據。 這些雙字元相當於輸出的附加重新導向符號(>>)。
    $L$l 重新導向輸入。 使用這些特殊字元之一,從裝置或檔案讀取輸入,而不是從鍵盤讀取輸入。 此字元相當於輸入的重新導向符號 (<)。
    $B$b 將巨集輸出傳送至命令。 這些特殊字元相當於使用管道 (*
    $T$t 分隔命令。 當您在 doskey 命令行上建立巨集或輸入命令時,請使用這其中一個特殊字元來分隔命令。 這些特殊字元相當於在命令行上使用 ampersand (&)。
    $$ 指定貨幣符號字元 ($)。
    $1$9 代表您要在執行巨集時指定的任何命令行資訊。 透過 $1$9 的特殊字元是批次參數,可讓您在每次執行巨集時,在命令行上使用不同的數據。 $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

下列巨集會針對新的目錄名稱使用 batch 參數:

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 提示字元中,輸入:

go

FTP 會執行 開啟mgetbye 命令。

若要建立可快速且無條件地格式化磁碟的巨集,請輸入:

doskey qf=format $1 /q /u

若要快速且無條件地格式化磁碟驅動器 A 中的磁碟,請輸入:

qf a:

若要刪除名為 vlist的巨集,請輸入:

doskey vlist =