2013-11-22 24 views
9

Tôi đang chạy tập lệnh lô (trên máy tính A). Kịch bản lệnh sao chép nhiều tệp từ một máy tính khác (máy tính B). Khi tập lệnh batch được chạy, nó báo cáo không thể xcopy một số tệp từ máy tính B đến các thư mục riêng của nó do 'Vi phạm Chia sẻ'.Thông báo lỗi Xcopy sai 'Chia sẻ vi phạm'

Bằng cách đọc các trang ngăn xếp ngăn xếp khác, tôi thấy điều này xảy ra khi một chương trình khác có tệp bị khóa (một chương trình khác hiện đang sử dụng/truy cập tệp). Tuy nhiên, tôi có thể đi vào máy tính B và xóa các tập tin mà máy tính A tuyên bố đã bị khóa (do vi phạm chia sẻ).

Điều duy nhất tôi có thể tưởng tượng có thể xảy ra là tập lệnh batch trên máy tính A đang khóa tập tin (bằng cách nào đó) trong một lệnh trước đó và lệnh này trước đó là gì đang khóa tệp? Nhưng tôi mặc dù hàng loạt lệnh script chạy serially trừ khi quy định khác.

Có ai từng gặp vấn đề này trước đây không? Tập lệnh sẽ sao chép thành công mà không chia sẻ vi phạm khoảng một hoặc hai tuần trước. Không có thay đổi nào xảy ra trong tập lệnh.

+0

Xóa chia sẻ khác với chia sẻ đọc. –

+0

Có thể ** hữu ích ** 'http: // techinfo.laurenceholbrook.com/FolderSharingError.html' – Kiquenet

Trả lời

17

Sau nhiều thử và sai tôi đã có thể để xác định lý do tại sao tôi đã nhận được một sự vi phạm chia sẻ

tôi đã sao chép tập tin từ máy tính B vào máy tính Một

tôi nghĩ các vi phạm chia sẻ đã xảy ra vì máy tính B là không cho phép tôi tạo một bản sao của những tệp đó [được lưu trữ trên ổ cứng của nó].

Trong thực tế, thư mục trên máy tính A (sao chép máy tính) có các tệp mà tôi không thể ghi đè lên. Đây là lý do tôi nhận được vi phạm được chia sẻ.

Một trong các tệp trong thư mục trên máy tính A là một tác vụ thực thi mà tôi cho rằng đã bị giết (taskkill). Tuy nhiên, tệp thực thi này đã bị bỏ qua trong quá trình tác vụ (thực sự không được liệt kê trong trình quản lý tác vụ vì lý do nào đó) và chương trình này vẫn đang chạy (tệp đang được sử dụng). Do đó, khi tôi cố gắng ghi đè lên tệp, xcopy đã bị từ chối quyền truy cập để ghi đè tệp này/tệp thực thi, dẫn đến vi phạm được chia sẻ.

Tôi đã bị ấn tượng rằng vi phạm chia sẻ sẽ chỉ xảy ra trong xcopy nếu các tệp trên máy tính B sẽ không cho phép sao chép xảy ra.

+4

Kết thúc: Chia sẻ thông điệp vi phạm KHÔNG PHẢI là sai ... chỉ không được hiểu đầy đủ. – Fractal

+1

Thiên tài đã viết tiện ích phổ dụng này không thể dành 15 giây để viết một thông báo lỗi có ý nghĩa hơn –

4

Hầu hết các lần bạn gặp sự cố này là do một chương trình thực thi khác (exe) bằng cách nào đó đang sử dụng các tệp bạn muốn sao chép. Chỉ cần giết chương trình bằng cách sử dụng nó và bản sao sẽ hoạt động.

2

Tôi đã gặp sự cố tương tự với xcopy trong tệp lô và phát hiện thấy tệp gây ra vi phạm chia sẻ có tập thuộc tính Chỉ đọc. Loại bỏ thuộc tính Chỉ đọc cho phép tệp được sao chép.

Tôi nên lưu ý rằng tôi đã sử dụng nút chuyển/R với xcopy để cho phép ghi đè lên các tệp chỉ đọc. Tôi cũng phát hiện ra rằng tệp đã có trong thư mục đích với tập thuộc tính Chỉ đọc, và có vẻ như chỉ đọc đã được đặt lại trên tệp đích sau khi đã được xcopied thành công. Tôi vẫn cần điều tra thêm về điều này. Công tắc/K có thể ngăn chặn điều này.

Cũng đáng chú ý là tệp lô của tôi chứa một loạt các câu lệnh xcopy. Vi phạm chia sẻ đã gặp phải dòng đầu tiên, nhưng cho phép tệp hàng loạt tiếp tục các dòng xcopy tiếp theo. Lỗi đã xảy ra không được chú ý trong một thời gian khá lâu vì thông báo vi phạm chia sẻ đã được cuộn ra khỏi màn hình. Tôi cũng có thể thử sử dụng nút chuyển/C để tiếp tục sao chép ngay cả khi xảy ra lỗi.

Tôi hy vọng điều này có thể giúp những người khác gặp sự cố này.

+0

Tôi sử dụng tùy chọn '/ e/q/h/r/y', và đôi khi tôi nhận được *** Vi phạm chia sẻ * ** lỗi. – Kiquenet

2

Đôi khi một tệp/thư mục có thể tạm thời không khả dụng/bị khóa bởi một quy trình khác. Nếu chương trình hàng loạt của bạn cố gắng sao chép vào thời điểm đó, nó sẽ dẫn đến "lỗi không xác định/vi phạm được chia sẻ".

Sử dụng robocopy thay vì "xcopy/copy" có thể phù hợp hơn trong trường hợp đó, vì nó không thất bại ngay lập tức, nhưng thử lại vài lần trước khi không thành công.

0

Đối với tôi điều này xảy ra khi tôi đang cố sao chép tệp chiến tranh vào thư mục tomcat. Tôi tiếp tục kiểm tra để thấy rằng, thực sự, tomcat đã được dừng lại. Vấn đề là tôi đã mở tập tin chiến tranh trong 7zip khi tôi kiểm tra nội dung. Tôi đóng 7zip và các vấn đề khi đi.

Hiển nhiên bây giờ, không quá nhiều khi điều này xảy ra.

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