2011-07-13 26 views
24

Tôi có nhiều ứng dụng web trong một giải pháp Visual Studio.Cách sử dụng xcopy để chỉ sao chép các tệp nếu chúng mới hơn?

Tất cả đều có cùng một bài build lệnh:

xcopy "$(TargetDir)*.dll" "D:\Project\bin" /i /d /y 

Nó sẽ là hữu ích để tránh thay thế tập tin mới với những cái cũ (ví dụ ai đó vô tình có thể thêm một tham chiếu đến một phiên bản cũ của một DLL).

Làm cách nào để sử dụng xcopy để thay thế tệp cũ chỉ bằng tệp DLL mới hơn được tạo bởi Visual Studio?

Trả lời

28

Từ gõ "giúp đỡ xcopy" tại cửa sổ dòng lệnh:

/D:m-d-y  Copies files changed on or after the specified date. 
      If no date is given, copies only those files whose 
      source time is newer than the destination time. 

Vì vậy, bạn đã đang sử dụng xcopy để chỉ thay thế các tập tin cũ với cái mới. Nếu điều đó không xảy ra, bạn có thể phải đổi vị trí của các công tắc /i/d.

0

Không được thử nghiệm, nhưng tôi sử dụng tập lệnh lệnh tương tự cho các loại tác vụ này.

set DIR_DEST=D:\Project\bin 
pushd "$(TargetDir)" 

:: 
:: Move Files matching pattern and delete them 
:: 
for %%g in (*.dll) do (xcopy "%%g" "%DIR_DEST%" /D /Y & del "%%g") 

:: 
:: Move Files matching pattern 
:: 
:: for %%g in (*.dll) do (xcopy "%%g" "%DIR_DEST%" /D /Y) 

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