Удалить старые окна / программные файлы со второго диска?

22

Мой компьютер имеет кучу дополнительных дисков. Большинство из них содержат старые копии Windows и Program Files. Мой компьютер называется «ПК», а мой администратор - «Тим». Я назначил владение этими вторыми дисками пользователю "PC \ Tim", а также предоставил пользователю "PC \ Tim" полный контроль над дисками. Затем я пытаюсь удалить папки Windows или Program Files на этих дисках и получить сообщение.

«Вам нужно разрешение от ПК \ Тим, чтобы внести изменения в эту папку».

Текущий владелец этих папок указан как «Тим (ПК \ Тим)». Действующие разрешения для этих списков папок, на которые этот пользователь имеет полное право.

Абсурдные «ответы» в сообществе Microsoft, конечно, предлагают такие вещи, как «Использовать очистку диска» (что является явно необразованным ответом) или «просто переформатировать диск» (форматирование позволяет избежать проблемы, а не решить ее).

Как правильно удалить эти старые файлы?

frumbert
источник

Ответы:

55
  1. Откройте командную строку с правами администратора.
  2. Запускайте следующие команды по одной (замените «Z: \ Program Files» на папку, которую вы хотите удалить):

    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 обозначает «Да» и будет отличаться в зависимости от языка ОС. Папка Program Files также может иметь другое имя.

Примечание 2 - Более старые версии Windows: Если icaclsи rdне поддерживается , то попробуйте использовать caclsи rmdirвместо

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

Возможно, проблема в том, что у вас нет правильных разрешений в списках контроля доступа (DACL) для папки и ее содержимого. DACL идентифицирует опекунов, которым разрешен или запрещен доступ к защищаемому объекту. Поэтому простого присвоения права на папку может быть недостаточно, но вам также необходимо предоставить разрешение в DACL. Вы можете предоставить разрешение с помощью команды icacls, как показано в примере выше. Списки контроля доступа и списки DACL

takeown документация takeown Администратор восстанавливает доступ к каталогам и их содержимому, в которых ранее было отказано, путем назначения администратором группы владельца. / F [каталог] указывает, какой каталог, / A передает владение группе администраторов, / R выполняет его как рекурсивную операцию над каталогом, всеми файлами и подкаталогами, / D подавляет запросы на подтверждение, когда у пользователя нет разрешения «Список папок» с следующий вариант Y, который становится владельцем каталога. (Примечание. Параметр Y может отличаться в зависимости от языка ОС).

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

Документация rd rd Удаляет каталог со всеми его подкаталогами и файлами. / s удаляет указанный каталог и его подкаталоги, включая все файлы, / q указывает тихий режим, поэтому вы не получаете запроса на подтверждение, [каталог] указывает, какой каталог удалить.

Арне Х. Битубекк
источник
5
Для Windowsпапки просто переименуйте ее в Windows.oldи с помощью инструмента / программы очистки диска вы можете просто удалить ее
SuperDJ
2
Caclsсейчас устарела, пожалуйста, используйте Icacls.
Таринду Сатишчандра
1
@ Tharindu спасибо, теперь я обновил ответ с помощью icacls. Пожалуйста, убедитесь, что это выглядит правильно
Арне Х. Битубекк
1
rmdirсейчас rd
RaisingAgent
@RaisingAgent спасибо за заголовки, я обновил фрагмент кода с помощью rd вместо rmdir
Арне Х. Битубекк
21

Для меня сработала упрощенная версия этого предложения :

  1. Переименуйте Windowsпапку вWindows.old
  2. Запустите очистку диска из меню «Пуск»
  3. Выберите диск, содержащий Windows.oldпапку
  4. Предыдущие «Установка Windows» затем нажмите ОК
x29a
источник
Это работало для папки «Windows». 3 команды Arne HD сработали для некоторых других папок, таких как «Program Files» и ProgramData.
Гас
Умный! И очень просто. Работал как шарм.
Онэви
1
Он работает с любой папкой, если вы измените имя на Windows.old. Потрясающие.
AdnanG
Это лучший метод, я попробовал 3 из методов, описанных здесь, и этот был лучшим.
РАРДЕВА
3

Это работало в Windows 10 ИСПАНСКИЙ:

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команды вам нужно использовать «adminradores» (испанский), а не «administrator» (английский).

Хуанга Ковас
источник
1

Просто переименуйте Program Files в Windows.old и запустите очистку диска, чтобы очистить системные файлы. Тот же трюк работает на любой папке, что вы не можете удалить.

Flegy
источник
1

ПРИМЕЧАНИЕ: Теперь, когда я думаю об этом, вы должны начать с шага 4, вам просто нужно нажать кнопку «изменить разрешения», чтобы получить доступ. Я бы протестировал, но у меня нет каталогов для удаления.

В Windows 10 (возможно, также работает с Windows 7 и 8):

  1. Щелкните правой кнопкой мыши папку-> свойства-> безопасность-> расширенный.
  2. Нажмите на Изменить рядом с владельцем (вверху). Введите свое имя пользователя в поле и нажмите «Проверить имена». (Следует преобразовать в стиль MACHINENAME \ USERNAME.)
  3. Нажмите OK, OK, OK, чтобы выйти из настроек безопасности.

Теперь вы должны владеть каталогом.

  1. Щелкните правой кнопкой мыши папку-> свойства-> безопасность-> расширенный. (Еще раз.)
  2. Найдите «Пользователи» в списке разрешений. Нажмите на нее, выберите «Изменить» и выберите полный контроль.
  3. Внизу отметьте «Заменить все дочерние записи разрешений ...».
  4. Нажмите OK, затем выберите Да в окне предупреждения. Подождите, пока компьютер применит новые разрешения.

Теперь у вас должны быть разрешения, необходимые для удаления файлов. Сделай так. (Проверено в папках Program Files и Windows.old.)

user3757614
источник
Проверено, работает! благодаря!
Перейти к
0

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

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

Мадхав Биджу
источник
-2

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

Стивен Першик
источник
1
Я думаю, что вопрос больше касается прав доступа к файлам, чем просто удаления файлов. Если есть возможность решить задачу с помощью инструментов Windows, зачем кому-то скачивать, скажем, 500 МБ и больше и создавать загрузочный USB? Я также не уверен на 100%, что каждый «предпочтительный» дистрибутив Linux может корректно обрабатывать все версии NTFS. NTFS не является файловой системой Linux. Будете ли вы использовать Windows для работы с файлами в файловой системе Linux ext4?
snayob
Ядро Linux может обрабатывать более 50 файловых систем. Кроме того, это буквально самый простой способ сделать это. Может быть, не то, что этот пользователь искал, но это легко.
Стивен Першик
1
Самый простой? Загрузка 1 ГБ и запись на USB? Это действительно проще, чем 3 команды? Вы, кажется, настоящий гуру Linux;)
snayob
1
Я не совсем уверен, как этот случайный и совершенно ложный «факт» относится к обсуждению, но спасибо за то, что просветили меня. Если вы хотите лично обсудить, почему стоит выбрать систему GNU / Linux, я был бы рад провести такое обсуждение где-нибудь еще. Кроме того, это обсуждение становится ужасно не по теме
Стивен Першик
1
Не заинтересованы в обсуждении «ЛУЧШЕГО способа сделать это». Ваше заявление кричит совершенно ложный факт.
snayob
-2

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

ура

Guylee
источник
Необразованное предположение. Файловая система NTFS использует идентификаторы безопасности учетных записей пользователей вместе со списками контроля доступа, а не с отображаемыми именами учетных записей пользователей.
-2

Предполагая, что удаление должно быть сделано на втором диске: у меня только что получилось:

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

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

  3. запустить «Очистку диска» с правами администратора;

  4. выберите папку для удаления, которая появится в Windows с именем «Windows.old», и удалите ее.

user221120
источник