Chắc chắn điều đó là có thể. thông số dòng lệnh được thông qua vào tập tin thực thi của bạn như là% 1% 2, vv (% 0 là tên của tập tin batch.)
IF "%1"=="/r" ECHO You passed the /r flag.
Sử dụng SHIFT
để thả các đối số đầu tiên và di chuyển tất cả những người khác hơn một. Bạn có thể sử dụng nó để có được một chút fancier nếu bạn muốn cho phép/r là bất cứ nơi nào trong dòng lệnh. Ví dụ:
:processargs
SET ARG=%1
IF DEFINED ARG (
IF "%ARG%"=="/r" ECHO You passed the /r flag.
SHIFT
GOTO processargs
)
Hoặc sử dụng %*
(mà mở rộng cho toàn bộ danh sách đối số) trong một vòng lặp FOR
như thế này:
FOR %%A IN (%*) DO (
IF "%%A"=="/r" ECHO You passed the /r flag.
)
Nguồn
2013-02-28 19:17:04
nền tảng xin vui lòng? – user1428716
[tham số dòng lệnh] (http://www.robvanderwoude.com/parameters.php). Bạn có bận tâm [Googling this] (http://goo.gl/e6Kc9) không? – rojo
có thể trùng lặp của [Phân tích đối số tùy chọn tệp Windows Bat] (http://stackoverflow.com/questions/3973824/windows-bat-file-optional-argument-parsing) –