2015-04-15 15 views
18

Làm cách nào để tìm ra (với Hàng loạt), nếu biến bắt đầu bằng "abc" (ví dụ)?Kiểm tra xem biến Batch có bắt đầu bằng "..."

Tôi biết rằng tôi có thể tìm kiếm các biến nếu tôi biết toàn bộ nội dung (nếu "% variable%" == "abc") nhưng tôi muốn nó chỉ trông sau khi bắt đầu.

Tôi cần nó để tìm ra vị trí tệp Batch, vì vậy nếu có bất kỳ lệnh nào khác cho điều này, hãy cho tôi biết.

+2

@mario bash được không phải là Windows hàng loạt. – jeb

Trả lời

35

Sử dụng variable substring syntax:

IF "%variable:~0,3%"=="ABC" [...] 

Nếu bạn cần đường dẫn đến tập tin thực thi mà không có tên tập tin thực thi, bạn có thể sử dụng biến:

%~dp0 

Cú pháp cho điều này được giải thích trong help for the for command, mặc dù cú pháp biến này mở rộng ra ngoài cú pháp lệnh for.

+0

Và 0,3% có nghĩa là nó tìm kiếm 3 chữ cái đầu tiên? – Eric

+0

Không, nó nhận được ba ký tự đầu tiên từ biến. Sau đó, các ký tự đầu tiên được so sánh với "abc" – jeb

+0

@ EricRösch Đó là một chuỗi con. Nó có nghĩa là "Bắt đầu với ký tự 0 (đầu tiên) cho tôi 3 ký tự". –

2

để tìm vị trí tập tin thực thi sử dụng %0 (cho bản vá đầy đủ vào tập tin batch hiện hành) hoặc %CD% biến mang đến cho thư mục địa phương

Các vấn đề liên quan