Lệnh doskey trong Windows

Lệnh doskey gọi Doskey.exe (để recall các dòng lệnh đã nhập trước đó), chỉnh sửa dòng lệnh và tạo macro.

Để biết ví dụ về cách sử dụng lệnh doskey này, vui lòng xem phần ví dụ bên dưới.

Cú pháp lệnh doskey 

doskey [/reinstall] [/listsize=<Size>] [/macros:[all | <ExeName>] [/history] 
[/insert | /overstrike] [/exename=<ExeName>] [/macrofile=<FileName>] [<MacroName>=[<Text>]]

Tham số lệnh doskey

Tham số Mô tả
/reinstall Cài đặt một bản sao mới của Doskey.exe và xóa bộ đệm (buffer) lịch sử dòng lệnh.
/listsize=<Size> Chỉ định số lượng lệnh tối đa trong bộ đệm lịch sử.
/macros Hiển thị danh sách tất cả các macro doskey. Bạn có thể sử dụng biểu tượng chuyển hướng (>) với /macro để chuyển hướng danh sách tới một file. Bạn có thể viết tắt /macro thành /m.
/macros:all Hiển thị macro doskey cho tất cả các file thực thi.
/macros:<ExeName> Hiển thị macro doskey cho file thực thi được chỉ định bởi ExeName.
/history Hiển thị tất cả các lệnh được lưu trữ trong bộ nhớ. Bạn có thể sử dụng biểu tượng chuyển hướng (>) với /history để chuyển hướng danh sách tới một file. Bạn có thể viết tắt /history thành /h.
[/insert /overstrike]
/exename=<ExeName> Chỉ định chương trình (thực thi được) mà macro doskey sẽ chạy trong đó.
/macrofile=<FileName> Chỉ định file chứa macro mà bạn muốn cài đặt.
<MacroName>=[] Tạo một macro thực hiện các lệnh được chỉ định bởi Text. MacroName chỉ định tên bạn muốn gán cho macro. Text chỉ định các lệnh bạn muốn ghi. Nếu Text được để trống, MacroName sẽ bị xóa khỏi bất kỳ lệnh được chỉ định nào.
/? Hiển thị trợ giúp tại dấu nhắc lệnh.

Lưu ý

  • Sử dụng Doskey.exe

Doskey.exe luôn có sẵn cho tất cả các chương trình tương tác dựa trên ký tự (như trình gỡ lỗi chương trình hoặc chương trình truyền file), và nó duy trì buffer lịch sử lệnh và các macro cho mỗi chương trình bắt đầu. Bạn không thể sử dụng các tùy chọn dòng lệnh doskey từ một chương trình. Bạn phải chạy các tùy chọn dòng lệnh doskey trước khi bạn bắt đầu một chương trình. Việc gán phím cho chương trình ghi đè lên việc gán phím cho doskey.

  • Gọi lại lệnh

Để gọi lại một lệnh, bạn có thể sử dụng bất kỳ phím nào sau đây sau khi bạn khởi động Doskey.exe. Nếu bạn sử dụng Doskey.exe trong một chương trình, nhiệm vụ chính của chương trình đó sẽ được ưu tiên.

Phím Mô tả
MŨI TÊN LÊN Gọi lại lệnh mà bạn đã sử dụng trước lệnh đang được hiển thị.
MŨI TÊN XUỐNG Gọi lại lệnh mà bạn đã sử dụng sau lệnh đang được hiển thị.
PAGE UP Gọi lại lệnh đầu tiên mà bạn đã sử dụng trong phiên hiện tại.
PAGE DOWN Gọi lại lệnh gần đây nhất mà bạn đã sử dụng trong phiên hiện tại.
  • Chỉnh sửa dòng lệnh

Với Doskey.exe, bạn có thể chỉnh sửa dòng lệnh hiện tại. Nếu bạn sử dụng Doskey.exe trong một chương trình, phím gán cho chương trình đó sẽ được ưu tiên và một số phím chỉnh sửa Doskey.exe có thể không hoạt động.

Bảng sau đây liệt kê các phím chỉnh sửa doskey và các chức năng của chúng.

Tổ hợp phím hoặc phím Mô tả
MŨI TÊN TRÁI Di chuyển con trỏ trở lại một ký tự.
MŨI TÊN PHẢI Di chuyển con trỏ về phía trước một ký tự.
CTRL+MŨI TÊN TRÁI Di chuyển con trỏ trở lại một từ.
CTRL+MŨI TÊN PHẢI Di chuyển con trỏ về phía trước một từ.
HOME Di chuyển con trỏ đến đầu dòng.
END Di chuyển con trỏ xuống cuối dòng.
ESC Xóa lệnh khỏi màn hình.
F1 Sao chép một ký tự từ một cột trong template vào cùng một cột trong cửa sổ Command Prompt. (Template là bộ nhớ đệm chứa lệnh cuối cùng bạn đã nhập). 
F2 Tìm kiếm chuyển tiếp trong template cho phím tiếp theo mà bạn nhập, sau khi bạn nhấn F2. Doskey.exe chèn văn bản từ template - tối đa, nhưng không bao gồm, ký tự bạn chỉ định.
F3 Sao chép phần còn lại của template vào dòng lệnh. Doskey.exe bắt đầu sao chép các ký tự từ vị trí trong template tương ứng với vị trí được chỉ ra bởi con trỏ trên dòng lệnh.
F4 Xóa tất cả các ký tự từ vị trí con trỏ hiện tại, nhưng không bao gồm các ký tự mà bạn nhập sau khi bạn nhấn F4.
F5 Sao chép template vào dòng lệnh hiện tại.
F6 Đặt ký tự kết thúc file (CTRL + Z) tại vị trí con trỏ hiện tại.
F7 Hiển thị (trong hộp thoại) tất cả các lệnh cho chương trình hiện tại được lưu trữ trong bộ nhớ. Sử dụng phím mũi tên lên và phím mũi tên xuống để chọn lệnh bạn muốn, và nhấn ENTER để chạy lệnh. Bạn cũng có thể lưu ý số thứ tự ở phía trước lệnh và sử dụng số này cùng với phím F9.
ALT+F7 Xóa tất cả các lệnh được lưu trữ trong bộ nhớ cho buffer lịch sử hiện tại.
F8 Hiển thị tất cả các lệnh trong buffer lịch sử bắt đầu bằng các ký tự trong lệnh hiện tại.
F9 Nhắc bạn nhập một con số cho lệnh buffer lịch sử, và sau đó hiển thị lệnh liên kết với số mà bạn chỉ định. Nhấn ENTER để chạy lệnh. Để hiển thị tất cả các số và các lệnh liên quan của chúng, nhấn F7.
ALT+F10 Xóa tất cả các mô tả macro.
  • Sử dụng doskey trong một chương trình

Một số chương trình tương tác dựa trên ký tự, chẳng hạn như chương trình gỡ lỗi hoặc chương trình truyền file (File transfer programs - FTP) tự động sử dụng Doskey.exe. Để sử dụng Doskey.exe, một chương trình phải là một quá trình điều khiển và sử dụng đầu vào có buffer. Việc gán phím cho chương trình ghi đè lên việc gán phím cho doskey. Ví dụ, nếu chương trình sử dụng phím F7 cho một hàm, bạn không thể nhận được lịch sử lệnh doskey trong một cửa sổ pop-up nữa.

Với Doskey.exe, bạn có thể duy trì lịch sử lệnh cho mỗi chương trình mà bạn bắt đầu hoặc lặp lại. Bạn có thể chỉnh sửa các lệnh trước đó tại dấu nhắc của chương trình, và bắt đầu macro doskey được tạo cho chương trình. Nếu bạn thoát ra và sau đó khởi động lại một chương trình từ cùng một cửa sổ Command Prompt, lịch sử lệnh từ phiên trước đó của chương trình sẽ có sẵn.

Bạn phải chạy Doskey.exe trước khi bạn bắt đầu một chương trình. Bạn không thể sử dụng các tùy chọn dòng lệnh doskey từ dấu nhắc lệnh của chương trình, ngay cả khi chương trình có lệnh shell.

Nếu bạn muốn tùy chỉnh cách Doskey.exe để làm việc với một chương trình và tạo macro doskey cho chương trình đó, bạn có thể tạo một chương trình batch để sửa đổi Doskey.exe và khởi động chương trình.

  • Chỉ định chế độ Insert mặc định

Nếu bạn nhấn phím INSERT, bạn có thể nhập văn bản trên dòng lệnh doskey ở giữa văn bản hiện có mà không thay thế hoàn toàn văn bản đó. Tuy nhiên, sau khi bạn nhấn ENTER, Doskey.exe sẽ trả bàn phím của bạn về chế độ Replace. Bạn phải nhấn INSERT lần nữa để trở về chế độ Insert.

Sử dụng /insert để chuyển bàn phím của bạn sang chế độ Insert mỗi khi bạn nhấn ENTER. Bàn phím của bạn có hiệu quả ở chế độ Insert cho đến khi bạn sử dụng /overstrike. Bạn có thể tạm thời trở về chế độ Replace bằng cách nhấn phím INSERT, nhưng sau khi bạn nhấn ENTER, Doskey.exe sẽ trả về bàn phím của bạn ở chế độ Insert.

Con trỏ thay đổi hình dạng khi bạn sử dụng phím INSERT để thay đổi từ chế độ này sang chế độ khác.

  • Tạo macro

Bạn có thể sử dụng Doskey.exe để tạo macro thực hiện một hoặc nhiều lệnh. Bảng sau đây liệt kê các ký tự đặc biệt mà bạn có thể sử dụng để kiểm soát các hoạt động lệnh khi bạn xác định macro.

Ký tự Mô tả
$G hoặc $g Chuyển hướng đầu ra. Sử dụng một trong các ký tự đặc biệt này để gửi đầu ra tới thiết bị hoặc file thay vì màn hình. Ký tự này tương đương với biểu tượng chuyển hướng cho đầu ra (>).
$G$G hoặc $g$g Nối đầu ra vào cuối file. Sử dụng một trong hai ký tự kép này để nối đầu ra vào file hiện có thay vì thay thế dữ liệu trong file. Các ký tự đôi này tương đương với biểu tượng chuyển hướng nối thêm cho đầu ra (>>).
$L hoặc $l Chuyển hướng đầu vào. Sử dụng một trong các ký tự đặc biệt này để đọc đầu vào từ thiết bị hoặc file thay vì từ bàn phím. Ký tự này tương đương với biểu tượng chuyển hướng cho đầu vào (<).
$B hoặc $b Gửi đầu ra macro cho một lệnh. Các ký tự đặc biệt này tương đương với việc sử dụng ký tự **.
$T hoặc $t Tách các lệnh. Sử dụng một trong các ký tự đặc biệt này để tách các lệnh khi bạn tạo macro hoặc gõ lệnh trên dòng lệnh doskey. Các ký tự đặc biệt này tương đương với việc sử dụng dấu và (&) trên dòng lệnh.
$$ Chỉ định ký tự đô la ($).
$1 đến $9 Trình bày bất kỳ thông tin dòng lệnh nào bạn muốn chỉ định khi bạn chạy macro. Các ký tự đặc biệt từ $1 đến $9 là các tham số batch cho phép bạn sử dụng dữ liệu khác nhau trên dòng lệnh mỗi khi bạn chạy macro. Ký tự $1 trong lệnh doskey tương tự như ký tự %1 trong chương trình batch.
$* Trình bày tất cả thông tin dòng lệnh mà bạn muốn chỉ định khi bạn nhập tên macro. Ký tự đặc biệt $\* là một tham số có thể thay thế tương tự như các tham số batch từ $1 đến $9, với một khác biệt quan trọng: Mọi thứ bạn gõ vào dòng lệnh sau khi macro được thay thế cho $\* trong macro.
  • Chạy macro doskey

Để chạy macro, nhập tên macro tại dấu nhắc lệnh, bắt đầu từ vị trí đầu tiên. Nếu macro được xác định bằng $\* hoặc bất kỳ thông số lô batch nào $1 đến $9, hãy sử dụng một khoảng trống để phân tách các tham số. Bạn không thể chạy macro doskey từ một chương trình batch.

  • Tạo macro có cùng tên với họ lệnh Windows Server 2003: Nếu bạn luôn sử dụng một lệnh nào đó với các tùy chọn dòng lệnh cụ thể, bạn có thể tạo macro có cùng tên với lệnh. Để xác định xem bạn có muốn chạy macro hoặc lệnh không, hãy làm theo các hướng dẫn sau:
    • Để chạy macro, nhập tên macro tại dấu nhắc lệnh. Không thêm dấu cách trước tên macro.
    • Để chạy lệnh, hãy chèn một hoặc nhiều dấu cách vào dấu nhắc lệnh, rồi gõ tên lệnh.
  • Xóa macro

Để xóa macro, hãy nhập:

doskey <MacroName> =

Ví dụ

Các tùy chọn dòng lệnh /macro/history rất hữu ích cho việc tạo các chương trình batch để lưu macro và lệnh. Ví dụ: để lưu trữ tất cả các macro doskey hiện tại, hãy nhập:

doskey /macros > macinit

Để sử dụng các macro được lưu trữ trong Macinit, hãy nhập:

doskey /macrofile=macinit

Để tạo một chương trình batch có tên Tmp.bat, có chứa các lệnh được sử dụng gần đây, hãy nhập:

doskey /history> tmp.bat

Để xác định macro với nhiều lệnh, hãy sử dụng $t để tách các lệnh, như sau:

doskey tx=cd temp$tdir/w $*

Trong ví dụ trước, macro TX thay đổi thư mục hiện tại thành Temp và sau đó hiển thị danh sách thư mục ở định dạng hiển thị rộng. Bạn có thể sử dụng $\* ở cuối macro để nối thêm các tùy chọn dòng lệnh khác vào dir khi bạn chạy TX.

Macro sau sử dụng tham số batch cho tên thư mục mới:

doskey mc=md $1$tcd $1

Macro tạo một thư mục mới và sau đó thay đổi thư mục mới từ thư mục hiện tại.

Để sử dụng macro trước đó tạo và thay đổi thành thư mục có tên Books, hãy nhập:

mc books

Cách tạo macro doskey cho chương trình có tên Ftp.exe, bao gồm /exename như sau:

doskey /exename=ftp.exe go=open 172.27.1.100$tmget *.TXT c:\reports$tbye

Để sử dụng macro trước, hãy khởi động FTP. Tại dấu nhắc FTP, hãy nhập:

go

FTP chạy các lệnh open, mgetbye.

Để tạo một macro định dạng đĩa một cách nhanh chóng và vô điều kiện, hãy nhập:

doskey qf=format $1 /q /u

Để định dạng đĩa một cách nhanh chóng và vô điều kiện trong ổ A, hãy nhập:

qf a:

Để xóa macro có tên là vlist, hãy nhập:

doskey vlist =

Xem thêm:

Thứ Năm, 29/11/2018 10:23
52 👨 80