Tập lệnh dòng lệnh
Để lưu trữ các tập lệnh mà tôi sử dụng từ dòng lệnh, tôi tạo một Command Line Scripts
thư mục trong Tệp Chương trình và thêm nó vào biến môi trường PATH. Tôi sử dụng tệp loạt sau để liệt kê và chỉnh sửa các tập lệnh đó:
@echo off
setlocal
set UTILPATH=C:\Program Files\System Tools\Command Line Utilities
if not "x%1"=="x" (
start "" "notepad" "%UTILPATH%\%1.bat"
) else (
dir /b "%UTILPATH%" | grep -v com.bat | grep -P "(exe|bat|cmd)" | sed "s/\.\(exe\|bat\|cmd\)//"
echo.
)
(lưu ý rằng việc lọc danh sách thư mục phụ thuộc vào một số lệnh unix mà tôi đã cài đặt qua Cygwin )
Tôi đặt tên cho nó là com.bat, (viết tắt của lệnh) thì tôi có thể:
- liệt kê các tập lệnh trong thư mục đó bằng cách nhập
com
vào dấu nhắc lệnh
- chỉnh sửa bất kỳ tập lệnh nào trong danh sách bằng cách nhập
com script-name
vào dấu nhắc lệnh *, tương tự:
- tạo tập lệnh mới trong thư mục đó bằng cách nhập
com new-script-name
vào dấu nhắc lệnh *
- và nếu tôi cần chỉnh sửa com.bat, tôi chỉ cần nhập
com com
* Khi đang chạy Vista, tôi phải sử dụng dấu nhắc lệnh nâng cao vì các thư mục bên dưới Program Files
được bảo vệ. Để có một cách nhanh chóng để khởi chạy dấu nhắc lệnh nâng cao, chỉ cần nhấn Win key
; loại cmd
; bấm máy Ctrl+Shift+Enter
; và sau đó nhấn Alt+C
để xác nhận lời nhắc nâng cao. Sáu lần nhấn phím đến một dấu nhắc lệnh nâng cao! ([qua] [4])
Tập lệnh Khởi động
Một trong những tập lệnh mà tôi lưu trữ trong Command Line Scripts
thư mục của mình là một tập lệnh được chạy khi tôi đăng nhập vào windows (thông qua Task Scheduler
, nhập Task
vào menu bắt đầu của Vista). Tôi sử dụng kịch bản đó để thiết lập nhiều ổ đĩa ảo bằng cách sử dụng subst lệnh để thư mục tôi truy cập thường xuyên hoặc muốn có một cách nhanh chóng để truy cập vào command prompt hoặc rút ngắn tên đường dẫn trong cảnh báo trình biên dịch, các bản ghi hoặc kết xuất debug.
Tập lệnh khởi động của tôi trông giống như sau:
@setlocal
@set _MYDOCS_=%USERPROFILE%\Documents
@REM Note: first delete the drives so I can run script again
@REM to fix drives that failed to get mapped
subst /d W:
subst /d T:
subst /d S:
subst /d R:
subst /d N:
subst /d L:
subst /d H:
subst W: "%_MYDOCS_%\Work\SVN Working Copy\Website\trunk\www"
subst T: "%_MYDOCS_%\Work\SVN Working Copy\project 1\trunk"
subst S: "%_MYDOCS_%\Work\SVN Working Copy"
subst R: "%_MYDOCS_%\Work\SVN Working Copy\project 2\branches\12.50"
subst N: "%_MYDOCS_%\Work\SVN Working Copy\project 2\trunk"
subst L: "%_MYDOCS_%\Work\"
subst H: "%_MYDOCS_%\My Projects\Haslers.info\Working Copy"
Lưu ý rằng subst có thể hơi thất thường và đôi khi các ổ đĩa không được tạo và tôi phải chạy lại tập lệnh khởi động theo cách thủ công.