Tidak dapat menghapus folder yang rusak di windows 10

2

Hari ini ketika saya mencoba mendekompilasi file .apk menggunakan WinRAR, saya mendapat kesalahan dan unzipping dihentikan. Setelah itu ketika saya mencoba untuk menghapus folder saya mendapatkan kesalahan bahwa saya tidak memiliki kepemilikan folder walaupun saya memberikan izin administrator.

Kesalahan ditampilkan saat menghapus folder

Gambar dari file explorer folder yang memiliki file

File dan folder induk file dalam gambar memberikan kesalahan ketika saya mencoba untuk menghapusnya.

Kemudian saya mencoba melakukan hal yang sama menggunakan cmd dalam mode administrator dengan perintah:

tes rm -d

output :: rm: tidak dapat membatalkan tautan `test ': Bukan pemilik

Saya juga mencoba perintah berikut untuk menghapus file di folder secara rekursif:

tes rm -r

output: rm: PERINGATAN: Struktur direktori melingkar. Ini hampir pasti berarti bahwa Anda memiliki sistem file yang rusak. PEMBERITAHUAN MANAJER SISTEM ANDA. Dua direktori berikut memiliki nomor inode yang sama:

test `test / '

Jadi saya mencoba perintah berikut untuk menghapus struktur file rekursif,

rm -rfd test

output: rm: tidak dapat membatalkan tautan `test ': Bukan pemilik

Semua metode di atas yang saya gunakan berasal dari halaman StackOverflow atau Microsoft QnA tetapi sepertinya tidak ada yang berhasil.

Saya mencoba semua ini dalam safe mode juga. Tapi tetap saja, saya mendapatkan kesalahan yang sama. Dua kali saya juga mendapatkan kesalahan dengan kode kesalahan 0x80070091

Gambar menampilkan izin di tab keamanan jendela properti folder yang akan dihapus

Saya sudah mencoba mengambil kepemilikan folder menggunakan perintah takeown.

takeown / uji f / r

Keluaran:

SUKSES: File (atau folder): "C: \ Users \ mandar \ Desktop \ test" sekarang dimiliki oleh pengguna "MANDAR_SADYE \ mandar".

SUKSES: File (atau folder): "C: \ Users \ mandar \ Desktop \ test \" sekarang dimiliki oleh pengguna "MANDAR_SADYE \ mandar".

Saya mencoba semua solusi yang mungkin bisa saya temukan tetapi tampaknya tidak ada yang berhasil. Jika ada yang punya saran tentang masalah ini maka silakan posting sebagai jawaban atau komentar yang Anda inginkan. Terima kasih sebelumnya.

Mandar Sadye
sumber

Jawaban:

2

Masalah Anda adalah bahwa Anda memiliki entri sistem file dengan nama yang hanya berisi spasi ( test\, perhatikan spasi setelah backslash). Ini secara teknis dimungkinkan di NTFS, tetapi sama sekali tidak diizinkan di Win32 dan sebagian besar Windows API tidak akan menanganinya sama sekali. Mereka akan mencoba untuk menghapus spasi dari ujung nama file, dan kemudian menjadi sangat bingung ketika nama file tidak ada lagi dan dapat memperlakukannya seolah-olah Anda merujuk ke direktori; ini terjadi bahkan jika Anda menggunakan format like test\*atau " ".

Ada dua cara keluar dari ini di dalam Windows itu sendiri.

  1. Lewati terjemahan jalur Win32. Ini dilakukan dengan mengawali jalur dengan kualifikasi penuh \\?\. Melakukan hal ini mematikan semua aturan Win32 tentang apa adalah nama file yang valid (seperti "tidak bisa dimulai atau diakhiri dengan spasi"), hanya menyisakan set jauh lebih ketat dari aturan NTFS (tidak dapat berisi \atau :, misalnya). Perhatikan bahwa ini juga mematikan singkatan yang mudah digunakan seperti menggunakan jalur relatif; jika Anda ingin melakukan ini, Anda harus memberikan path absolut (C: \ Users \ mandar \ Desktop \ test \) dan Anda harus mengutipnya sehingga baris perintah tahu Anda bermaksud memasukkan ruang terakhir: del "\\?\C:\Users\mandar\Desktop\test\ "(dan ya, Anda harus digunakan cmd.exeuntuk ini; Powershell mengabaikan shell \? \ dan Unix-like yang berjalan pada Windows melalui MinGW atau Cygwin tidak menggunakan jalur format yang diharapkan oleh kernel).
  2. Gunakan subsistem Linux asli di Windows (yang menjalankan binari Linux yang tidak dimodifikasi langsung pada kernel NT, melalui driver khusus). Linux (seperti yang Anda temukan) mendukung penanganan file yang memiliki nama konyol seperti dan begitu pula WSL, Windows Subsystem untuk Linux. Jika Anda belum pernah menggunakan WSL sebelumnya, Anda harus menginstal beberapa distro Linux dari toko aplikasi Windows ( Ubuntu dan OpenSUSE keduanya tersedia dan cocok untuk penggunaan umum, Kali juga tersedia jika Anda ingin distro tujuan khusus pada perangkat Anda. Kotak Windows; Anda dapat menginstal lebih dari satu jika mau). Dari dalam bash(atau shell lain) dari distro WSL, navigasikan ke direktori yang relevan ( cd /mnt/c/Users/mandar/Desktop/test) dan kemudian hapus file yang menyinggung ( rm ' ') atau cukup seluruh direktori.
CBHacking
sumber
Luar biasa! Bekerja untuk saya dengan beberapa file yang dibuat secara pemrograman
Frank
0

Jalankan perintah chkdsk dan lihat apakah ia menemukan kesalahan.

Untuk lebih memahami kesalahan, dimungkinkan untuk Baca Chkdsk Masuk Event Viewer di Windows 10 .

Jika kesalahan ditemukan, dan jika mereka tidak terdengar terlalu mengancam atau ada terlalu banyak dari mereka, untuk memperbaiki kesalahan jalankan perintah:

chkdsk /f

Pastikan memiliki cadangan file Anda yang baik sebelum memulai.

harrymc
sumber
0

Nah setelah banyak coba-coba saya menemukan cara untuk menghapusnya. Saya menemukan solusi sebelum saya bisa mencoba solusi harrymc , jadi tidak dapat mengkonfirmasi apakah solusinya bekerja. Cara saya melakukannya tidak langsung jadi saya sangat merekomendasikan mencoba solusinya terlebih dahulu dan beri tahu saya jika itu berhasil sehingga saya dapat menandainya sebagai jawaban yang dapat diterima.

Jadi metode yang saya ikuti adalah membuka folder di sistem file yang berbeda.

  • Cara saya melakukannya adalah menghapusnya melalui pen drive Linux yang dapat di-boot (saya menggunakan Kali tetapi distribusi lainnya harus bekerja dengan baik.
  • Anda dapat mencoba menghapusnya dengan membagikan folder ke kotak virtual atau mesin virtual VMware dengan Linux dan mencoba menghapusnya.
  • Dan cara ketiga adalah berbagi folder di jaringan lokal Anda dan mencoba untuk menghapusnya dari perangkat Android atau MAC Anda yang terhubung ke jaringan (ingat Android memiliki kernel Linux dan MAC memiliki Unix sehingga keduanya harus berfungsi)

Jadi saya kira masalahnya adalah pada sistem file windows NTFS. Seperti yang Anda lihat dengan pengecualian pada metode ketiga, Anda perlu mencari OS sekunder dalam bentuk mesin bootable atau virtual yang kebanyakan orang tidak akan memilikinya. Jadi cobalah solusi ke-3. Jika tidak berhasil maka coba solusi harrymc . Dan bahkan jika itu tidak berhasil maka Anda dapat menginstal mesin virtual atau membuat drive pen bootable dan mencoba menghapusnya.

Mandar Sadye
sumber
-1

Saya telah menemukan perbaikan yang berfungsi untuk saya.

Pada halaman Pengaturan Keamanan Tingkat Lanjut, Anda perlu mengubah ke Administrator (dengan huruf s pada bagian akhir jika tidak Anda mendapatkan kesalahan Enum) dan klik ok karena opsi 'ganti semua anak ...' tidak ada.

Kemudian buka kembali dan lakukan hal yang sama lagi, kali ini kotak centang 'ganti semua anak hadir', jadi centang dan kotak centang 'ganti pemilik pada ...'. Kemudian klik ok

Anda sekarang harus dapat Mengedit untuk memberikan izin kepada Administrator. Tutup menu itu lagi dan Anda harus dapat menghapus.

Saya yakin itu adalah kesalahan atau sesuatu tetapi itu bekerja untuk saya.

Spedley
sumber