Hapus file windows / program lama dari drive kedua?

22

PC saya memiliki banyak drive tambahan. Sebagian besar berisi salinan Windows dan Program Files lama. PC saya disebut "PC", dan pengguna admin saya disebut "Tim". Saya telah menetapkan kepemilikan drive kedua ini untuk pengguna "PC \ Tim", dan juga memberi pengguna "PC \ Tim" kontrol penuh pada drive. Saya kemudian mencoba menghapus folder Windows atau Program Files pada drive ini, dan mendapatkan pesan.

"Anda memerlukan izin dari PC \ Tim untuk membuat perubahan pada folder ini."

Pemilik folder ini saat ini terdaftar sebagai "Tim (PC \ Tim)". Izin efektif untuk folder ini mencantumkan hak yang dimiliki pengguna ini.

"Jawaban" yang absurd pada komunitas microsoft tentu saja menawarkan hal-hal seperti "Gunakan Disk Cleanup" (yang merupakan jawaban yang tidak terdidik secara terang-terangan) atau "hanya memformat ulang drive" (memformat menghindari masalah daripada mengatasinya).

Apa langkah yang benar untuk menghapus file-file lama ini?

frumbert
sumber

Jawaban:

55
  1. Buka Command Prompt dengan hak administratif.
  2. Jalankan perintah berikut, satu per satu (ubah "Z: \ Program Files" dengan folder yang ingin Anda hapus):

    takeown /F "Z:\Program Files" /A /R /D Y
    icacls "Z:\Program Files" /T /grant administrators:F
    rd /s /q "Z:\Program Files"
    

Catatan 1 - Bahasa OS: takeown ... /D YInput Y berarti 'Ya' dan akan berbeda tergantung pada Bahasa OS. Folder Program Files juga dapat dinamai secara berbeda.

Catatan 2 - Versi Windows yang lebih lama: Jika icaclsdan rdtidak didukung, coba gunakan caclsdan rmdirsebagai gantinya

Penjelasan dan dokumentasi:

Masalahnya mungkin Anda tidak memiliki izin yang benar dalam daftar kontrol akses diskresioner (DACL) untuk folder dan kontennya. DACL mengidentifikasi wali yang diizinkan atau ditolak aksesnya ke objek yang aman. Jadi hanya memberikan kepemilikan ke folder mungkin tidak cukup, tetapi Anda juga perlu memberikan izin di DACL. Anda dapat memberikan izin menggunakan perintah icacls seperti yang ditunjukkan pada contoh di atas. Daftar Kontrol Akses dan DACL dijelaskan

dokumentasi takeown takeown Administrator memulihkan akses ke direktori dan kontennya yang sebelumnya ditolak, dengan menjadikan grup administrator pemiliknya. / F [direktori] menentukan direktori mana, / A memberikan kepemilikan kepada grup administrator, / R menjalankannya sebagai operasi rekursif pada direktori, semua file dan sub-direktori, / D menekan permintaan konfirmasi ketika pengguna tidak memiliki izin "Daftar Folder" dengan mengikuti opsi Y yang mengambil kepemilikan direktori. (Catatan: Opsi Y mungkin berbeda tergantung pada bahasa OS).

icacls icacls dokumentasi Memberi grup DAC akses penuh ke grup administrator. [direktori] tentukan direktori mana, / T melakukan operasi pada semua file yang ditentukan dalam direktori dan sub-direktori, / berikan hibah hak akses pengguna yang ditentukan dengan : F yang memberikan akses penuh. (Catatan: Administrator nama grup mungkin berbeda tergantung pada bahasa OS)

rd dokumentasi rd Menghapus direktori dengan semua sub-direktori dan file. / s menghapus direktori yang ditentukan dan sub-direktori termasuk semua file, / q menentukan mode sunyi sehingga Anda tidak mendapatkan konfirmasi, [direktori] menentukan direktori mana yang akan dihapus.

Arne H. Bitubekk
sumber
5
Untuk Windowsfolder cukup ganti namanya menjadi Windows.olddan dengan alat / program pembersihan disk Anda cukup menghapusnya
SuperDJ
2
Caclssekarang sudah usang, silakan gunakan Icacls.
Tharindu Sathischandra
1
@Tarindu terima kasih, saya memperbarui jawabannya dengan icacls sekarang. Harap verifikasi bahwa itu terlihat benar
Arne H. Bitubekk
1
rmdirsekarang rd
RaisingAgent
@RaisingAgent, terima kasih atas headups, saya perbarui snippit dengan rd bukan rmdir
Arne H. Bitubekk
21

Apa yang berhasil bagi saya adalah versi sederhana dari saran ini :

  1. Ubah nama Windowsfolder menjadiWindows.old
  2. Jalankan Disk Cleanup dari menu Start
  3. Pilih drive yang berisi Windows.oldfolder
  4. Sebelumnya "Instalasi Windows" lalu klik OK
x29a
sumber
Ini berfungsi untuk folder "Windows". 3 perintah Arne HD berhasil untuk beberapa folder lain seperti "Program Files" dan ProgramData.
gus
Pintar! Dan sangat sederhana. Bekerja seperti pesona.
oneavi
1
Ini berfungsi dengan folder apa pun jika Anda mengubah nama menjadi Windows.old. Luar biasa.
AdnanG
Ini adalah metode terbaik, saya mencoba 3 metode yang dijelaskan di sini dan yang ini adalah yang terbaik.
RaRdEvA
3

Ini berfungsi di Windows 10 SPANYOL:

set del_folder=F:\Program Files
takeown /f "%del_folder%" /r /d S
icacls "%del_folder%" /grant administradores:F /T
rmdir /s /q "%del_folder%"

Pada takeownperintah, Anda harus menggunakan "S" di akhir untuk "Sí" dalam bahasa Spanyol, alih-alih "Y" untuk "Ya" (Bahasa Inggris).

Untuk icaclsperintah, Anda harus menggunakan "administradores" (Spanyol) dan bukan "administrator" (Inggris).

Juanga Covas
sumber
1

Ubah nama Program Files menjadi Windows.old dan jalankan disk clean untuk menghapus file sistem. Trik yang sama berfungsi pada folder apa pun yang tidak dapat Anda hapus.

Flegy
sumber
1

CATATAN: Sekarang saya memikirkannya, Anda harus dapat memulai dari langkah 4, Anda hanya perlu menekan tombol "ubah izin" untuk mendapatkan akses. Saya akan menguji, tapi saya kehabisan direktori untuk dihapus.

Di Windows 10 (mungkin juga bekerja dengan Windows 7 dan 8):

  1. Klik kanan pada folder-> properties-> security-> advanced.
  2. Klik Ubah di sebelah pemilik (di atas). Masukkan nama pengguna Anda di kotak, dan tekan centang nama. (Harus dikonversi menjadi gaya MACHINENAME \ USERNAME.)
  3. Tekan OK, OK, OK untuk keluar dari opsi keamanan.

Anda sekarang harus memiliki direktori.

  1. Klik kanan pada folder-> properties-> security-> advanced. (Lagi.)
  2. Temukan "Pengguna" di daftar izin. Klik, pilih edit, dan pilih kontrol penuh.
  3. Di bagian bawah, centang "Ganti semua entri izin anak ...".
  4. Tekan OK, lalu pilih Ya di kotak peringatan. Tunggu komputer untuk menerapkan izin baru.

Anda sekarang harus memiliki izin yang diperlukan untuk menghapus file. Lakukan itu. (Diuji pada folder Program Files dan Windows.old.)

pengguna3757614
sumber
Diuji, itu berhasil! Terima kasih!
GoTo
0

(Untuk folder windows) Jika Anda bisa, ubah nama menjadi windows.old.Kemudian buka disk cleanup, pilih drive dan klik ok. Setelah itu klik 'bersihkan file sistem' dan itu akan menghapus folder

Sekarang jika Anda tidak dapat mengganti nama folder, unduh unlocker, buka dan pilih folder kemudian klik rename dan ubah namanya menjadi Windows.old lalu jalankan disk cleanup. : D

Madhav Biju
sumber
-2

Buat USB langsung dari distribusi Linux pilihan Anda, boot ke dalamnya, pasang drive, dan bersihkan dengan cara itu. Secara harfiah cara termudah untuk melakukannya.

Steven Perszyk
sumber
1
Saya pikir pertanyaannya lebih tentang perizinan / kepemilikan file daripada hanya penghapusan file. Jika ada kemungkinan untuk mencapai tugas menggunakan alat Windows mengapa ada orang yang mengunduh katakan 500MB dan lebih banyak lagi dan membuat USB yang dapat di-boot? Saya juga tidak 100% yakin bahwa setiap distribusi Linux "pilihan" dapat menangani dengan benar semua versi NTFS. NTFS bukan sistem file Linux. Apakah Anda menggunakan Windows untuk memanipulasi file di sistem file Linux ext4?
snayob
Kernel Linux dapat menangani lebih dari 50 sistem file. Juga, secara harfiah cara termudah untuk melakukannya. Mungkin bukan yang dicari pengguna ini, tetapi mudah.
Steven Perszyk
1
Termudah? Mengunduh 1GB dan membakar ke USB? Apakah ini benar-benar lebih mudah daripada mengeluarkan 3 perintah? Anda tampaknya menjadi guru Linux yang sesungguhnya;)
snayob
1
Saya tidak yakin bagaimana "fakta" acak dan benar-benar salah itu berkaitan dengan diskusi, tetapi terima kasih karena telah mencerahkan saya. Jika Anda ingin berdiskusi secara pribadi tentang mengapa seseorang memilih sistem GNU / Linux, saya akan senang berdiskusi di tempat lain. Selain itu, diskusi ini menjadi sangat tidak menarik
Steven Perszyk
1
Tidak tertarik membahas "Cara termudah untuk melakukannya". Pernyataan Anda SHOUTING fakta yang sepenuhnya salah.
snayob
-2

Mungkin saja Anda sudah memiliki kepemilikan atas pengguna yang sama, karena itu merupakan disk sebelumnya yang meng-hosting sistem Anda. Hapus kepemilikan itu dan tambahkan lagi (yang sama). Misalnya, jika PETER pengguna memiliki kepemilikan, hapus, berlaku untuk semua subfolder, lalu tambahkan PETER lagi, dan terapkan. Anda harus dapat mengubah nama folder yang ingin Anda hapus terlebih dahulu, dan kemudian menghapusnya.

Bersulang

Guylee
sumber
Tebakan tak berpendidikan. Sistem file NTFS menggunakan SID akun pengguna bersamaan dengan daftar kontrol akses, bukan nama tampilan akun pengguna.
-2

Dengan asumsi bahwa penghapusan harus dilakukan pada drive kedua: Apa yang baru saja bekerja untuk saya adalah:

  1. instal Lockhunter (aplikasi gratis untuk membuka dan mengganti nama file yang terkunci) jalankan Lockhunter dengan hak istimewa Admin;

  2. ganti nama folder untuk dihapus menjadi "Windows.old" (Anda masih akan membaca nama asli setelah penggantian nama tetapi jangan khawatir penggantian nama akan dikonfirmasi oleh Lockhunter di jendela utama itu);

  3. jalankan "Disk Cleanup" dengan hak administratif;

  4. pilih folder yang akan dihapus yang akan muncul dengan nama "Windows.old" di Disk Cleanup dan hapus.

pengguna221120
sumber