2011-12-16 33 views
48

Đường dẫn tệp sau có ý nghĩa gì?Hai dấu hoa thị trong đường dẫn tệp

$(Services_Jobs_Drop_Path)\**\*.config 

Biến chỉ giữ một số đường dẫn, không có gì thú vị. Tôi quan tâm hơn rất nhiều, ý nghĩa của cái quái gì đó là **. Bất kỳ ý tưởng nào?

P.S. Đường dẫn sau được sử dụng trong các kịch bản lệnh msbuild, nếu nó giúp.

Trả lời

57

\**\ Mẫu này thường được sử dụng trong Copy Task để duyệt qua cây thư mục đệ quy. Về cơ bản, điều đó có nghĩa là tất cả các tệp có phần mở rộng config sẽ được xử lý từ tất cả các thư mục con của đường dẫn $(Services_Jobs_Drop_Path).

MSDN, Using Wildcards to Specify Items:

Bạn có thể sử dụng **, *, và? ký tự đại diện để chỉ định một nhóm các tệp làm đầu vào cho một bản dựng thay vì liệt kê riêng từng tệp.

  • ? ký tự đại diện khớp với một ký tự đơn.
  • Ký tự đại diện * khớp với số không hoặc nhiều ký tự.
  • Chuỗi ký tự đại diện ** khớp với đường dẫn một phần.

MSDN, Specifying Inputs with Wildcards

Để bao gồm tất cả các file .jpg trong thư mục hình ảnh và thư mục con Sử dụng sau Bao gồm thuộc tính:

Bao gồm = "Images \ ** \ *. jpg "

+0

Bây giờ, điều đó thật thú vị. Cảm ơn câu trả lời. – Arnthor

+0

Tôi có thể lấy mô tả đầy đủ về tất cả điều này cho cả hệ thống Windows và * nix ở đâu? (ví dụ: sự khác biệt giữa việc bỏ trống trước và sử dụng "./") – Dois

+1

@Dois, các quy ước khá chuẩn cho việc mở rộng đường dẫn kiểu nix, mặc dù chi tiết có thể khác nhau giữa các môi trường vỏ khác nhau. Nếu bạn đang sử dụng bash, sau đó tìm kiếm thông số mở rộng đường dẫn bash. Nếu bạn đang sử dụng zsh hoặc tcsh, sau đó tìm kiếm những thay thế đó. Sau một giờ tìm kiếm, tôi không thể tìm thấy nhiều tiêu chuẩn Windows cho việc mở rộng đường dẫn khác với những gì ở trên trong câu trả lời này. – kdbanman

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