Xóa hàng loạt: Truy cập bị từ chối


10

Tôi đang gặp vấn đề với dellệnh trong một tệp bó. Khi đến bước xóa, tôi nhận được thông báo "Truy cập bị từ chối". Lệnh bó của tôi trông giống như thế này.

set destPath=\\Public01\Appl\CompOps\Jobs\

robocopy . "%destPath%" *.dtsx *.dev *.prod *.ppro /IS

pushd "%destPath%"
del *.dtsConfig
ren *.dev .
popd

Nhập mô tả hình ảnh ở đây

Tôi có thể duyệt đến thư mục và xóa các tệp mà không gặp vấn đề gì trong Windows Explorer .

Tôi đã thử chạy với tư cách quản trị viên, nhưng vẫn cùng một vấn đề.

Câu trả lời:


7

Để buộc một dellệnh xóa các tệp chỉ đọc, hãy thêm /Fcờ.

Rõ ràng, một tệp chỉ đọc thường không thể bị xóa bởi một tệp bó, mặc dù nó vẫn có thể bị xóa thông qua Windows Explorer . Để kiểm tra xem tệp của bạn có ở chế độ chỉ đọc hay không, bạn có thể nhấp chuột phải vào tệp và chọn thuộc tính hoặc nhập attrib <filename>tại dấu nhắc lệnh. Điều này sẽ hiển thị một loạt các chữ cái tương ứng với các thuộc tính tệp khác nhau.

R = Read-only file
A = Archive file
S = System file
H = Hidden file

Bạn có thể xóa thẻ chỉ đọc bằng cách bỏ chọn hộp trong cửa sổ thuộc tính hoặc chạy lệnh attrib <filename> -R.


tiếc là điều đó không khắc phục được vấn đề, tôi sẽ cập nhật câu hỏi của tôi để đưa vào đề xuất của bạn.
agradl

Hãy thử đặt pausetrước dellệnh và sau đó thử xóa nó qua Windows Explorer trong khi nó bị tạm dừng.
SaintWacko

Tôi đã tìm thấy giải pháp, tuy nhiên nếu bạn muốn chỉnh sửa câu trả lời của mình để đưa vào một số gợi ý bên cạnh giải pháp của tôi, tôi rất vui lòng đánh dấu nó là câu trả lời
agradl

Được rồi, thông tin đó có hữu ích không? :)
SaintWacko

Tôi chắc chắn rằng nó sẽ hữu ích khi tôi quên vấn đề này vài tháng kể từ bây giờ :)
agradl

2

Sau khi thử nghiệm các tùy chọn có sẵn cho lệnh "del", tôi phát hiện ra rằng các tệp tôi đang cố xóa là chỉ đọc. Để giải quyết vấn đề, tôi có thể chỉnh sửa các tệp để xóa thuộc tính chỉ đọc hoặc chỉ định tùy chọn / F.

Kịch bản cuối cùng là

set destPath=\\Public01\Appl\CompOps\Jobs\

robocopy . "%destPath%" *.dtsx *.dev *.prod *.ppro /IS

pushd "%destPath%"
del /F *.dtsConfig
ren *.dev .
popd

Giải pháp đơn giản, nhưng một thông báo lỗi sai. Hy vọng điều này sẽ giúp người khác.


Nếu bạn chỉ có thể đọc nó, một quyền truy cập bị từ chối âm thanh về quyền của tôi.
Surfasb

1

Điều gì đã làm việc cho PC Windows 8.1 của tôi:

Trước hết hãy đóng Windows Explorer bằng cách:

Nhấn Ctrl+ Alt+ Delđể mở Trình quản lý tác vụ , đi đến các quy trình, tìm Windows Explorer , nhấp chuột phải và kết thúc tác vụ . Đừng lo lắng nếu thanh bắt đầu không còn nữa. Sử dụng Alt+ Tabđể duyệt giữa các tệp. Sau đó, trong Trình quản lý tác vụ, nhấp vào TệpChạy tác vụ mới và nhập cmd. Điều này sẽ mở cho bạn một dòng lệnh .

Bên trong nhà ga :

Nếu phiên bản của bạn là 32 bit, và trong trường hợp của tôi, nó nằm trong Tệp chương trình (x86) , vì vậy bạn nên gõ:

cd "C:\Program Files (x86)\Git\git-cheetah"
regsvr32 /u git_shell_ext64.dll

Điều này là để không đăng ký.

Bạn có thể duyệt qua các thư mục bằng cách sử dụng cd directorynamevà bạn có thể lấy lại một thư mục bằng cách cd ... Để xem những gì trong một thư mục, bạn có thể nhập dirkhi bạn đang ở trong thư mục đó. Để xóa loại tệp:

del /F filename

Sau đó, một lần nữa mở Trình quản lý tác vụ , đi đến Tệp , sau đó chạy explorer. Bằng cách này bạn sẽ có được màn hình thông thường. Chuyển đến thư mục Git mà chúng tôi muốn loại bỏ và xóa nó một cách đơn giản.

Tôi hy vọng điều này hoạt động cho những người khác đang sử dụng Windows 8.1.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.