Tôi sử dụng Console 2 và tôi muốn tạo một số bí danh cho các lệnh tôi thường sử dụng. Có thể google-fu của tôi chỉ hút ngày hôm nay nhưng tôi không thể tìm ra cách để làm điều này. Bất kỳ trợ giúp sẽ được đánh giá cao, cảm ơn.
Tôi sử dụng Console 2 và tôi muốn tạo một số bí danh cho các lệnh tôi thường sử dụng. Có thể google-fu của tôi chỉ hút ngày hôm nay nhưng tôi không thể tìm ra cách để làm điều này. Bất kỳ trợ giúp sẽ được đánh giá cao, cảm ơn.
Câu trả lời:
Console2 chỉ là một trình bao bọc xung quanh các cửa sổ giao diện điều khiển Win32 ẩn và không cung cấp chức năng chỉnh sửa dòng mở rộng.
Bạn có thể tạo bí danh trong bảng điều khiển Win32:
doskey d=dir $*
Không giống như Unix sh
, bạn phải xác định rõ ràng $*
để nối thêm các đối số đã cho (ví dụ d C:\
). Bạn cũng có thể sử dụng $T
để tách các lệnh.
Cũng không giống như Unix, các bí danh được triển khai ở cấp độ bảng điều khiển Win32 , không phải trong Console2 hoặc shell cmd.exe. Điều này cũng có nghĩa là bạn có thể sử dụng chúng trong bất kỳ chương trình nào đọc đầu vào tương tác. (Ví dụ: doskey /exename=python.exe h=help($*)
sẽ dịch h sys
sang help(sys)
.)
Để tự động tải các bí danh cho cmd.exe (Dấu nhắc lệnh):
tạo một tập lệnh bó (ví dụ %APPDATA%\autorun.cmd
:) bằng các doskey
lệnh. Thí dụ:
@doskey d=dir $*
Ví dụ để đọc nhiều bí danh từ một tệp:
@doskey /macrofile=%APPDATA%\cmd.aliases
đặt HKCU\SOFTWARE\Microsoft\Command Processor
giá trị AutoRun
cho đường dẫn của tập lệnh "tự động chạy" của bạn:
C:\> reg add "HKCU\SOFTWARE\Microsoft\Command Processor" /v AutoRun /t REG_SZ /d "%APPDATA%\autorun.cmd"
Mặc dù câu hỏi này đã hơn một năm tuổi và đã được trả lời, nhưng giải pháp sau đây đơn giản hơn và tránh chỉnh sửa sổ đăng ký:
Trong Console2, đi đến Chỉnh sửa> Cài đặt. Thay đổi trường "Shell:" thành như sau:
C:\Windows\system32\cmd.exe /K "C:\Path\to\aliases.cmd"
Bây giờ khởi động lại Console2 và bạn đã hoàn tất.
Để có thể giúp bạn tiết kiệm thời gian, đây là một ví dụ đơn giản về tệp aliases.cmd:
@echo off
DOSKEY clear=cls
DOSKEY ls=dir
DOSKEY ex=explorer .
DOSKEY ll=dir /A
DOSKEY rm=del $*