2009-03-18 17 views
12

Nhiệm vụ postbuild cho một trong các giải pháp của chúng tôi sử dụng xcopy để di chuyển các tệp vào một thư mục chung cho các tạo phẩm xây dựng. Đối với một số lý do, trên máy tính của tôi (và trên một máy ảo tôi đã thử nghiệm), xcopy không thành công với "Access Denied". Dưới đây là những gì tôi đã thực hiện để thử và cách ly các sự cố:Điều gì gây xcopy cho tôi biết Truy cập bị từ chối?

  • Tôi đã thử một bản sao bình thường; những công việc này.
  • Tôi kiểm tra kỹ xem không có tệp nào được đề cập là chỉ đọc.
  • Tôi đã kiểm tra các quyền trên cả thư mục nguồn và đích; Tôi có toàn quyền kiểm soát cả hai.
  • Tôi đã thử gọi xcopy từ dòng lệnh trong trường hợp quá trình xây dựng VS đã khóa tệp.
  • Tôi đã sử dụng Trình khám phá và Trình xử lý để xác định không có khóa trên tệp nguồn.

Tôi đã bỏ lỡ điều gì khác ngoài lý thuyết âm mưu hoang tưởng liên quan đến máy tính để giúp tôi? Điều này xảy ra trên máy tính của tôi và máy ảo sạch, nhưng không xảy ra cho bất kỳ ai khác trong dự án.

+0

Bạn có chắc chắn quá trình xcopy đang chạy trong tài khoản người dùng của mình không? – NotMe

+0

Đăng dòng lệnh bạn đang cố thực hiện, cũng như thông báo lỗi chính xác. –

Trả lời

13

Sự cố được giải quyết; có hai phần trong câu đố.

Nút chuyển đổi/O yêu cầu độ cao trên Vista. Ngoài ra, tôi nhận thấy rằng xcopy không được chấp nhận trong Vista có lợi cho robocopy. Bây giờ tôi đang nói chuyện với các kỹ sư xây dựng của chúng tôi về việc này.

2

Thông thường điều này xảy ra vì có một quy trình khác đang khóa tệp. Tôi đặt cược máy của bạn có một số lõi khác nhau/tốc độ khác so với các máy khác. Hãy thử chèn một số giấc ngủ để xem liệu nó có giải quyết được vấn đề hay không.

+0

Bạn có thể giải thích về vấn đề đa lõi không? xcopy thất bại trên dòng lệnh là tốt, ngay cả khi VS không mở. Các công cụ như Unlocker yêu cầu không có gì khóa tệp. Không có nơi nào để ngủ. – OwenP

+0

Từ mô tả của bạn có vẻ như bạn đang ở giữa một số tự động hóa xây dựng. Windows được biết đến là nổi tiếng xấu ở đây, do khóa tập tin. Tôi giả định rằng một số quá trình trước đó bạn bắt đầu trong một số trường hợp không hoàn toàn hoàn tất khi bắt đầu sao chép. – krosenvold

0

Nếu bạn có thể xóa tệp trong Windows Explorer, hãy thử sử dụng lời nhắc lệnh nâng lên. Bạn không chắc chắn lý do tại sao Windows Explorer không yêu cầu quyền ở đây cho một hoạt động xóa cần quyền quản trị thông qua cmd.

6

/r = Sử dụng tùy chọn này để ghi đè tệp chỉ đọc ở đích. Nếu bạn không sử dụng tùy chọn này khi bạn muốn ghi đè tệp chỉ đọc ở đích, bạn sẽ được nhắc với thông báo "Truy cập bị từ chối" và lệnh xcopy sẽ ngừng chạy.

Đó là giải pháp của tôi đối với lỗi này.

Source

+2

Cảm ơn, điều này đã giúp tôi. – ziddarth

+0

Điều đó cũng giải quyết vấn đề cho tôi, ngay cả khi tệp đích không hiển thị là 'chỉ đọc' ... –

+0

Điều đó cũng có tác dụng với tôi. – te7

1

Bạn cần phải chạy XCOPY as Administrator, không có cách nào xung quanh này.

Nếu bạn không muốn chạy bản sao của mình làm Quản trị viên, thì bạn phải sử dụng ROBOCOPY để thay thế. Tuy nhiên, lưu ý rằng, với ROBOCOPY, việc sử dụng khóa /COPYALL cũng rất hấp dẫn, đồng thời sao chép thông tin kiểm tra và yêu cầu "Quản lý quyền kiểm tra người dùng", một lần nữa mời bạn chạy với tư cách là Quản trị viên như một giải pháp nhanh. Quay lại đầu trang Nếu bạn không muốn chạy bản sao của mình với tư cách Quản trị viên, thì không sử dụng khóa chuyển đổi /COPYALL (hoặc /Copy:DATSOU). Thay vào đó, hãy sử dụng /Copy:DATSO, như U là viết tắt của aUditing.

Cũng lưu ý rằng nếu bạn đang sao chép từ NTFS sang hệ thống tệp FAT, không có cách nào bạn có thể "Sao chép bảo mật NTFS vào thư mục đích/tệp".

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