Видалити старі вікна / програмні файли з другого диска?


23

Мій ПК має купу додаткових накопичувачів. Більшість з них містять старі копії Windows та програмних файлів. Мій ПК називається "ПК", а мій користувач-адміністратор - "Тім". Я призначив право власності на ці другі диски користувачеві "PC \ Tim", а також надав користувачеві "PC \ Tim" повний контроль на накопичувачах. Потім я намагаюся видалити або папки Windows або Program Files на цих дисках, і отримаю повідомлення.

"Для внесення змін у цю папку потрібен дозвіл від ПК \ Тіма."

Поточний власник цих папок вказаний як "Тім (ПК \ Тім)". Ефективні дозволи цих списків папок, які має цей користувач, мають усі права.

Абсурдні "відповіді" у спільноті microsoft, звичайно, пропонують такі речі, як "Використовувати очищення диска" (що є кричуще неосвіченою відповіддю) або "просто переформатувати диск" (форматування дозволяє уникнути проблеми, а не вирішувати її).

Які правильні дії для видалення цих старих файлів?

Відповіді:


55
  1. Відкрийте командний рядок з правами адміністратора.
  2. Виконайте наступні команди, по черзі (змініть "Z: \ програмні файли" з папкою, яку потрібно видалити):

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

Примітка 1 - Мова ОС: takeown ... /D YВхідний текст Y означає «Так» і відрізнятиметься від мови ОС. Папка програмних файлів також може бути названа по-різному.

Примітка 2 - Старіші версії Windows: Якщо icaclsі rdне підтримуються, спробуйте використовувати caclsі rmdirзамість цього

Пояснення та документація:

Проблема може полягати в тому, що у вас немає правильних дозволів у дискреційних списках контролю доступу (DACL) для папки та її вмісту. DACL визначає довірених осіб, яким дозволений або заборонений доступ до захищеного об'єкта. Тому просто надання права власності на папку може бути недостатньою, але вам також потрібно надати дозвіл у DACL. Ви можете надати дозвіл, використовуючи команду icacls, як показано на прикладі вище. Пояснено списки контролю доступу та DACL

Документація про зайняття поглинання Адміністратор відновлює доступ до каталогів і його вмісту, якому раніше було відмовлено, зробивши адміністраторів згрупувати власника. / F [каталог] вказує, який каталог, / A надає право власності на групу адміністраторів, / R виконує його як рекурсивну операцію над каталогом, усіма файлами та підкаталогами, / D пригнічує підказки підтвердження, коли користувач не має дозволу "Список папок" з наступний варіант Y, який приймає право власності на каталог. (Примітка. Параметр Y може бути різним, залежно від мови ОС).

Документація icacls icacls Надає групі адміністраторів права доступу повного доступу DAC до каталогу. [каталог] вкажіть, який каталог, / T виконує операцію над усіма вказаними файлами в каталозі та підкаталогах, / надає вказані права доступу користувача з : F, який надає повний доступ. (Примітка. Адміністратори імен групи можуть бути різними залежно від мови ОС)

rd rd документація Видаляє каталог із усіма його підкаталогами та файлами. / s видаляє вказаний каталог та його підкаталоги, включаючи всі файли, / q вказує тихий режим, щоб ви не отримали запиту на підтвердження, [каталог] вкажіть, який каталог видалити.


6
Для Windowsпапки просто перейменуйте її Windows.oldта за допомогою інструмента / програми очищення диска ви можете просто її видалити
SuperDJ

2
CaclsЗараз застаріло, будь ласка, використовуйте Icacls.
Tharindu Sathischandra

1
@Tharindu спасибі, я оновив відповідь на icacls зараз. Переконайтесь, що це виглядає правильно
Арне Х. Бітубек

1
rmdirзараз rd
ПідняттяАгенту

@RaisingAgent дякую за заголовки, я оновив snippit коду з rd замість rmdir
Арне Х. Бітубек

22

Для мене працювала спрощена версія цієї пропозиції :

  1. Перейменуйте Windowsпапку вWindows.old
  2. Запустіть очищення диска з меню «Пуск»
  3. Виберіть диск, який містить Windows.oldпапку
  4. Попередні "Установки Windows", потім натисніть кнопку ОК

Це працювало для папки "Windows". 3 команди Arne HD працювали для деяких інших папок, таких як "Файли програм" та ProgramData.
gus

Розумний! І надзвичайно простий. Працював як шарм.
oneavi

1
Він працює з будь-якою папкою, якщо ви зміните ім'я на Windows.old. Дивовижно.
AdnanG

Це найкращий метод, я спробував 3 з описаних тут методів, і цей був найкращим.
RaRdEvA

3

Це працювало в Windows 10 SPANISH:

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%"

У takeownкоманді ви повинні використовувати "S" в кінці для "Sí" іспанською мовою, а не "Y" для "Так" (англійською).

Для icaclsкоманди потрібно використовувати "administradores" (іспанська), а не "administrator" (англійська).


1

Просте перейменування програмних файлів у Windows.old та запустіть диск чистим для очищення системних файлів. Цей же трюк працює у будь-якій папці, яку ви не можете видалити.


1

ПРИМІТКА. Тепер, коли я замислююся над цим, ви повинні мати можливість починати з кроку 4, вам просто потрібно натиснути кнопку "змінити дозволи", щоб отримати доступ. Я б протестував, але я не маю каталогів для видалення.

У Windows 10 (можливо, працює і з Windows 7 та 8):

  1. Клацніть правою кнопкою миші папку-> властивості-> безпека-> розширені.
  2. Клацніть Змінити поруч із власником (вгорі). Введіть своє поле у ​​поле та натисніть прапорець. (Слід перетворити у стиль MACHINENAME \ USERNAME.)
  3. Натисніть ОК, Добре, ОК, щоб вийти з параметрів безпеки.

Тепер ви повинні володіти каталогом.

  1. Клацніть правою кнопкою миші папку-> властивості-> безпека-> розширені. (Знову.)
  2. Знайдіть "Користувачі" у списку дозволів. Клацніть по ньому, виберіть редагування та виберіть повний контроль.
  3. Внизу встановіть прапорець "Замінити всі записи дозволу на дітей ...".
  4. Натисніть ОК, а потім виберіть Так у полі попередження. Зачекайте, поки комп'ютер застосує нові дозволи.

Тепер ви повинні мати дозволи, необхідні для видалення файлів. Зробіть так. (Тестується як у папках програмних файлів, так і в Windows.old.)


Перевірено, це працює! Дякую!
GoTo

0

(Для папки Windows) Якщо ви можете, змініть ім'я на windows.old. Потім відкрийте очищення диска, виберіть диск і натисніть кнопку ОК. Після цього натисніть «Очистити системні файли», і вона видалить папку

Тепер, якщо ви не можете перейменувати папку, скачайте розблокуючу програму, відкрийте її та виберіть папку, потім натисніть перейменувати та змініть ім’я на Windows.old, а потім запустіть очищення диска. : D


-2

Створіть живий USB вашого дистрибутиву за вибором Linux, завантажте його, встановіть диски та очистіть їх таким чином. Буквально найпростіший спосіб це зробити.


1
Я думаю, що питання стосується дозволів / прав власності на файли, ніж просто видалення файлів. Якщо є можливість досягти завдання за допомогою інструментів Windows, чому б хтось завантажував скажімо 500 Мб і більше і створював завантажувальний USB? Я також не на 100% впевнений, що кожен дистрибутив "на вибір" може правильно обробляти всі версії NTFS. NTFS не є файловою системою Linux. Чи використовуєте ви Windows для маніпулювання файлами у файловій системі Linux ext4?
snayob

Ядро Linux може обробляти понад 50 файлових систем. Крім того, це буквально найпростіший спосіб зробити це. Можливо, не те, що шукав цей користувач, але це легко.
Стівен Першик

1
Найпростіше? Завантажуєте 1 Гб і записуєте на USB? Це справді простіше, ніж видавати 3 команди? Ви, схоже, справжній гуру Linux;)
snayob

1
Я не зовсім впевнений, як цей випадковий і абсолютно хибний "факт" стосується дискусії, але дякую, що просвітили мене. Якщо ви хочете мати особисту дискусію щодо того, чому б вибрати систему GNU / Linux, я би радий обговорити це деінде. Окрім цього, ця дискусія стає страшенно темою
Стівен Першик

1
Не майте інтересу обговорювати "найпростіший спосіб зробити це". Твоя заява ПОКАЗВАЄ абсолютно хибний факт.
snayob

-2

Можливо, ви вже володієте тим самим користувачем, оскільки це був попередній диск, на якому розміщувалася ваша система. Видаліть це право власності та додайте його знову (те саме). Наприклад, якщо користувач PETER має право власності, видаліть його, застосуйте до всіх підпапок, а потім додайте PETER ще раз та застосуйте. Потім ви зможете спочатку перейменувати папку, яку ви хочете видалити, а потім видалити.

Ура


Неосвічена здогадка. Файлова система NTFS використовує SID облікових записів користувачів спільно зі списками контролю доступу, а не відображувані імена облікових записів користувачів.

-2

Якщо припустити, що видалення потрібно зробити на другому диску: Щойно для мене працювало:

  1. встановити Lockhunter (безкоштовна програма для розблокування та перейменування заблокованих файлів) запустити Lockhunter з правами адміністратора;

  2. перейменуйте папку, яку слід видалити, на "Windows.old" (ви все одно прочитаєте оригінальне ім'я після перейменування, але не хвилюйтесь, що перейменування буде підтверджено Lockhunter у головному вікні);

  3. запустіть "Очищення диска" з адміністративними привілеями;

  4. виберіть папку для видалення, яка з'явиться під назвою "Windows.old" в "Очищення диска" та видаліть її.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.