2010-08-26 44 views
6

Tôi đang cố di chuyển tất cả các tệp thuộc loại nhất định đến thư mục có liên quan đến tệp và tôi tự hỏi liệu có thể sử dụng MSBuild hay không.Di chuyển tệp trong MSBuild bằng đường dẫn tương đối

Về cơ bản, tôi đang sử dụng Trình chỉnh sửa AJAX của Microsoft để giảm thiểu tất cả các tệp Javascript và CSS trên trang web của mình. Kết quả đầu ra này tập tin .min.js và .min.css vào cùng thư mục với các tệp Javascript và CSS. Bởi vì trang web của tôi có nhiều giao diện, có các tệp JS và CSS nằm trong nhiều thư mục. Tôi muốn có thể thêm một nhiệm vụ chạy sau khi AJAX Minifier di chuyển tất cả các tệp .min.js và .min.css đến/phút/liên quan đến vị trí tệp. Vì vậy /Skin1/somescript.min.js sẽ chuyển sang /Skin1/min/somescript.min.js và /Skin2/somescript.min.js sẽ chuyển đến /Skin2/somescript.min.js. Cách duy nhất tôi biết để thực hiện một bản sao/di chuyển đòi hỏi kiến ​​thức về các thư mục tuyệt đối (hoặc tôi nên nói thư mục liên quan đến tập tin dự án) nhưng tôi dường như không thể tìm thấy một cách để di chuyển dựa trên một thư mục tương đối vào tệp tôi đang di chuyển.

Việc này có thể thực hiện được không?

Trả lời

12
<CreateItem Include="wwwroot\**\*.min.js;wwwroot\**\*.min.css"> 
    <Output TaskParameter="Include" ItemName="FilesToMove" /> 
</CreateItem> 

<Move SourceFiles="@(FilesToMove)" DestinationFiles="@(FilesToMove->'wwwroot\%(RecursiveDir)\min\%(Filename)%(Extension)')"/> 

Giả sử bạn đang sử dụng tác vụ Di chuyển từ MSBuild community tasks. Nếu không, bạn chỉ có thể sao chép và sau đó xóa bản chính để thay thế.

+0

$ (RecursiveDir) huh? Thật sự cảm ơn! – hackerhasid

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