Windows server не удаляется файл

Содержание
  1. Нельзя удалить файл или папку в томе файловой системы NTFS
  2. Причина 1: файл использует ACL
  3. Вы не можете использовать определенные средства безопасности для отображения или изменения разрешений, так как файл имеет не канонический ACL
  4. Причина 2: используется файл
  5. Причина 3. Повреждения файловой системы препятствуют доступу к файлу
  6. Причина 4. Файлы существуют в путях, которые имеют более MAX_PATH символов
  7. Решение 1. Используйте автоматически сгенерированное имя 8.3 для доступа к файлу
  8. Решение 2. Переименование или перемещение глубокой папки
  9. Решение 3. Соберите диск с папкой в структуре пути
  10. Решение 4. Используйте сетевую папку, которая находится так же глубоко, как и папка
  11. Решение 5. Использование средства, которое может проходить по глубоким путям
  12. Причина 5: имя файла содержит зарезервированное имя в пространстве имен Win32
  13. Причина 6: имя файла содержит недопустимое имя в пространстве имен Win32
  14. Сочетания причин
  15. Как удалить файл, если он открыт в другой программе
  16. 1. Перезагрузите ПК
  17. 2. Диспетчер задач
  18. 3. Перезапуск Explorer.exe
  19. 4. Монитор ресурсов
  20. 5. Запустить папку в отдельном процессе и отключить миниатюры
  21. 6. Удалить временные файлы
  22. 7. Антивирус
  23. 8. Корзина

Нельзя удалить файл или папку в томе файловой системы NTFS

В этой статье описывается, почему не может быть удален файл или папка в томе файловой системы NTFS. Кроме того, эта статья поможет решить эту проблему.

Исходная версия продукта: Windows Server 2012 R2
Исходный номер КБ: 320081

Внутри организации NTFS обрабатывает папки как особый тип файлов. Таким образом, файл word в этой статье указывает файл или папку.

Причина 1: файл использует ACL

Файл нельзя удалить, если он использует список управления доступом (ACL). Чтобы устранить эту проблему, измените разрешения для файла. Возможно, вам придется оказаться владельцем файлов, чтобы изменить разрешения.

Администраторы имеют неявную возможность владения любым файлом, даже если им не было явно предоставлено никаких разрешений на доступ к файлу. Владельцы файлов имеют неявную возможность изменять разрешения на доступ к файлам, даже если им явным образом не предоставлены разрешения на доступ к файлу. Таким образом, может потребоваться получить право собственности на файл, предоставить себе разрешения на удаление файла, а затем удалить файл.

Вы не можете использовать определенные средства безопасности для отображения или изменения разрешений, так как файл имеет не канонический ACL

Чтобы обойти эту проблему, используйте другое средство (например, более поздней сборки Cacls.exe).

Элементы управления доступом (ACL) в ACL имеют определенную предпочтительные последовательности в зависимости от их типа. Например, AS, которые отоают доступ, как правило, выданы перед AES, которые предоставили доступ. Однако ничего не мешает программе написать ACL с ACL с ACL в любой произвольной последовательности. В некоторых более ранних версиях Windows проблемы происходили, когда Windows пытался прочитать эти не канонические ALS. Иногда эти ALS нельзя изменить правильно с помощью графического редактора безопасности Microsoft Windows Explorer. Эта проблема была исправлена в более поздних версиях Windows. Если у вас эта проблема, используйте наиболее новую версию Cacls.exe. Даже если вы не можете отобразить или изменить ACL на месте, вы можете написать новый ACL, чтобы получить доступ к файлу.

Причина 2: используется файл

Файл нельзя удалить, если он используется. Чтобы устранить эту проблему, определите процесс, который имеет открытый handle, а затем закроем этот процесс.

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

Признаки этой проблемы могут отличаться. Для удаления файла можно использовать команду Delete. Но файл не удаляется до тех пор, пока открытый файл не освободит файл. Кроме того, вы можете не получить доступ к диалоговом окну «Безопасность» для файла, который ожидает удаления. Чтобы устранить эту проблему, определите процесс, который имеет открытый handle, а затем закроем этот процесс.

Читайте также:  Mac os смарт папки или

Причина 3. Повреждения файловой системы препятствуют доступу к файлу

Файл нельзя удалить, если файловая система повреждена. Чтобы устранить эту проблему, запустите совладку Chkdsk на томе диска, чтобы исправить ошибки.

Следующие причины могут повредить файловую систему и поместить файлы в проблемное состояние:

  • Плохой сектор на диске
  • Другое неисправное оборудование
  • Ошибки программного обеспечения

Типичные операции могут по-разному сбой. Когда файловая система обнаруживает повреждения, она занося в журнал событий событие и обычно получает сообщение с запросом на запуск Chkdsk. В зависимости от характера повреждения Chkdsk может восстановить или не восстановить данные файла. Однако Chkdsk возвращает файловую систему в внутренне согласованное состояние.

Причина 4. Файлы существуют в путях, которые имеют более MAX_PATH символов

При проблемах с путем к файлу нельзя открыть, изменить или удалить файл.

Решение 1. Используйте автоматически сгенерированное имя 8.3 для доступа к файлу

Чтобы устранить эту проблему, может потребоваться использовать автоматическое имя 8.3 для доступа к файлу. Это разрешение может быть самым простым решением, если путь является глубоким, так как имена папок слишком длинные. Если путь 8.3 также слишком длинный или если для тома отключены имена 8.3, перейдите к разрешению 2. Дополнительные сведения об отключании имен файлов 8.3 в томах NTFS см. в разделах NTFS, чтобы отключить создание имен 8.3.

Решение 2. Переименование или перемещение глубокой папки

Переименуем папку так, чтобы целевые файлы, которые находятся ниже, MAX_PATH больше не существовали. В этом случае начните с корневой папки или любого другого удобного места. Затем переименуем папки, чтобы у них были более короткие имена. Если это не устраняет эту проблему, например, если файл имеет более 128 папок в глубине, перейдите к решению 4.

Решение 3. Соберите диск с папкой в структуре пути

Соберите диск с папкой внутри структуры пути к целевому файлу или папке. Этот метод сокращает виртуальный путь.

Например, предположим, что у вас есть путь, структурированный следующим образом:

В этом случае общее число символов составляет более 255 символов. Чтобы ухудстить длину этого пути, до 73 символов, соберите диск с SubfolderName4.

Решение 4. Используйте сетевую папку, которая находится так же глубоко, как и папка

Если разрешения 1, 2 и 3 не являются удобными или не устраняют проблему, создайте сетевую папку, расположенную на максимально глубоком дереве папок. Затем переименуем папки, чтобы получить доступ к этой папке.

Решение 5. Использование средства, которое может проходить по глубоким путям

Многие программы Windows ожидают, что максимальная длина пути будет меньше 255 символов. Эти программы выделяют достаточно внутреннего хранилища для обработки этих типовых путей. NTFS не имеет этого ограничения и может иметь гораздо более длинные пути.

Эта проблема может возникнуть, если в какой-то момент в структуре папок создается достаточно глубокая папка, а затем создается глубокая структура ниже этой точки с помощью этой папки. Некоторые средства, которые работают локально в дереве папок, могут не иметь возможности проходить по всему дереву, начиная с корневого. Возможно, вам придется использовать эти средства особым образом, чтобы они могли обходить обойму. В этой ситуации в документации по API CreateFile описывается способ обхода всего дерева.

Как правило, вы можете управлять файлами с помощью создавного программного обеспечения. Если у вас есть программа, которая может создавать файлы с более глубокой глубиной, вы можете использовать эту же программу для удаления файлов или MAX_PATH управления ими. Как правило, вы можете удалять файлы, созданные в папке, с помощью одной и той же папки.

Читайте также:  Как полностью отформатировать жесткий диск при установке windows

Причина 5: имя файла содержит зарезервированное имя в пространстве имен Win32

Если имя файла содержит зарезервированное имя в пространстве имен Win32, например lpt1, удалить файл будет нельзя. Чтобы устранить эту проблему, переименуйте файл с помощью программы, не относяской к Win32. Для использования файла можно использовать средство POSIX или любое другое средство, использующее соответствующий внутренний синтаксис.

Кроме того, можно использовать некоторые встроенные команды для обхода стандартных зарезервированных проверок имен Win32, если для указания пути к файлу используется определенный синтаксис.

Если вы открываете ладок файла с помощью типичного механизма Win32 CreateFile, определенные имена файлов зарезервированы для устройств DOS старого стиля. Для обеспечения обратной совместимости эти имена файлов запрещены, и их нельзя создать с помощью типичных вызовов файлов Win32. Эта проблема не является ограничением NTFS.

Вы можете использовать программу Win32, чтобы обойти стандартные проверки имен, которые проводятся при создания или удалении файла с помощью того же метода, который используется для обхода папок ниже MAX_PATH . Кроме того, некоторые средства POSIX не подвергаются этим проверкам имен.

Причина 6: имя файла содержит недопустимое имя в пространстве имен Win32

Файл нельзя удалить, если имя файла содержит недопустимое имя. Например, имя файла имеет конечное пространство или итоге или имя файла состоит только из пробела. Чтобы устранить эту проблему, используйте средство, использующее соответствующий внутренний синтаксис для удаления файла. Для работы с этими файлами можно использовать синтаксис с некоторыми «\\?\» средствами. Пример:

Причина этой проблемы аналогична причине 4. Если вы используете типичный синтаксис Win32, чтобы открыть файл, имя которого имеет пробелы или 00-е, то перед открытием фактического файла пробелы или зоны в конце будут срезаются. Например, у вас есть два файла в одной папке с именем и обратите внимание на пробел AFile.txt AFile.txt после имени файла. Если вы попытались открыть второй файл с помощью стандартных вызовов Win32, откройте первый файл. Аналогичным образом, если у вас есть файл, имя которого является пробелом и вы пытаетесь открыть его с помощью стандартных вызовов Win32, откройте родительную папку файла. В этой ситуации, если попытаться изменить параметры безопасности для этих файлов, вы либо не сможете сделать это, либо вы можете неожиданно изменить параметры для разных файлов. В таком случае может показаться, что у вас есть разрешение на доступ к файлу с ограничениями ACL.

Сочетания причин

Иногда могут возникнуть сочетания этих причин. Это может сделать процедуру удаления файла более сложной. Например, при входе в систему с учетной записью администратора компьютера может возникнуть сочетание причин 1 (у вас нет разрешений на удаление файла) и 5 (имя файла содержит знак в конце, который приводит к перенаправлению доступа к файлу в другой файл или в несущестующий файл), а удалить файл нельзя. Если попытаться устранить причину 1, завладев файлом и добавив разрешения, вы все равно не сможете удалить файл, так как редактор ACL в пользовательском интерфейсе не может получить доступ к соответствующему файлу из-за причины 6.

В этой ситуации можно использовать с помощью средства Subinacl с коммутатором (эта с помощью набора ресурсов) для изменения прав владельца и разрешений для файла, который в противном случае /onlyfile недоступен. Пример:

Эта команда является одной командной строкой, которая была оболочка для учитаемости.

В этом примере командной строки изменяется файл, содержащий конечное пространство, чтобы учетная запись домена\администратора была владельцем файла, а эта учетная запись полностью контролирует C:\

файл. Теперь этот файл можно удалить с помощью команды Del с тем же «\\?\» синтаксисом.

Читайте также:  Диагностика ssd windows 10

Как удалить файл, если он открыт в другой программе

Когда вы пытаетесь удалить, переместить файл или папку в Windows, то можете наткнуться на сообщение, что «Операция не может быть завершена, так как файл или папка открыта в другой программе». Ошибка появляется, когда удаляемый файл или папка заняты в другой программе. Одним словом, файл в данный момент работает и вы его не сможете удалить. Это сделано в первую очередь для уменьшения несогласованности данных. Приведу просто пример, когда вы работаете в Word и ваш рабочий файл в этой программе открыт, то вы не сможете его удалить. Для этого нужно закрыть саму программу Word, а потом уже удалять файл. Может быть так, что скрытая служба не дает вам удалить файл или папку. Давайте разберем возможные способы, чтобы устранить ошибку, когда файл открыт в другой программе и мы его не можем удалить.

1. Перезагрузите ПК

Программы или скрытые службы могут использовать файл или папку, которая у вас не удаляется. В этом случае будет разумно выключить и включить обратно компьютер, чтобы все занятые службы закрылись автоматически.

2. Диспетчер задач

В Windows 10/7/8.1 иногда бывает такой момент, когда мы закрываем программу, то она может остаться работать в фоновом режиме. По этой причине нужно завершить процесс связанный с файлом или папкой, которую вы хотите удалить. Нажмите Esc+Shift+Ctrl, чтобы открыть диспетчер задач. В диспетчере задач определите, что за процесс может быть связан с вашим удаляемым файлом или папкой. Нажмите по нему правой кнопкой мыши и выберите «Снять задачу«. После этого попробуйте удалить файл, который был занят программой.

3. Перезапуск Explorer.exe

Ошибка «Файл открыт в другой программе» может быть связана с проводником (Explorer.exe), который имеет проблемы с памятью или кешированными файлами. Откройте обратно диспетчер задач, найдите процесс «Проводник«и ниже нажмите на кнопку «Перезапустить«. Попробуйте удалить файл.

4. Монитор ресурсов

Нажмите Win+R и введите resmon.exe, чтобы открыть монитор ресурсов. Далее найдите графу «Связанные дескрипторы» и введите в поиск имя файла. Далее вам отобразится один или несколько процессов связанных с вашим файлом. Нажмите по каждому из них правой кнопкой мыши и выберите «Завершить процесс«, после чего попробуйте удалить папку или файл.

5. Запустить папку в отдельном процессе и отключить миниатюры

Этот способ отлично подойдет, если вы пытаетесь удалить файл по сети и вам выдает ошибку — «файл открыт в другой программе». Нажмите сочетание кнопок Win+R и введите control.exe folders, чтобы открыть параметры папок. Перейдите во вкладку «Вид» и выделите галочками две функции:

  1. Всегда отображать значки, а не эскизы.
  2. Запускать окна с папками в отдельном окне.

Перезагрузите ПК и проверьте решена ли проблема, когда при удалении файла выдается ошибка, что файл открыт в другой программе.

6. Удалить временные файлы

Временные файлы могут мешать вам удалить файл, который занят программой. Нажмите Win+R и введите по очереди команды ниже. Вам нужно удалить все содержимое в этих двух папках:

  1. %temp%
  2. temp

7. Антивирус

Сторонний или встроенный антивирус в данный момент может сканировать вашу систему и блокировать файлы. В этом случае вам нужно просто отключить на время антивирус и проверить удаляется ли файл. Также рекомендую проверить систему на вирусы запустив полное сканирование системы.

8. Корзина

Если у вас есть файлы в корзине, то очистите корзину полностью. Иногда файлы в корзине могут быть функционировать и связаны с вашей проблемой. Нажмите правой кнопкой мыши по корзине и выберите «Очистить корзину«.

Оцените статью