Нажмите "Enter", чтобы перейти к содержанию

Как удалить папку которой не существует: 5 простых способов как удалить папку, которая не удаляется

Работа с файлами и папками — PowerShell

  • Статья

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

Перечисление всех файлов и папок в папке

Все элементы можно получить непосредственно в папке с помощью Get-ChildItem. Для отображения скрытых и системных элементов добавьте необязательный параметр Force. Например, эта команда отображает непосредственное содержимое диска C:PowerShell .

Get-ChildItem -Path C:\ -Force

Команда выводит список только непосредственно содержащихся элементов, аналогично использованию dir команды в cmd.exe оболочке UNIX или ls в ней. Чтобы отобразить элементы во вложенной папке, необходимо указать параметр Recurse . Следующая команда выводит список всех элементов на C: диске:

Get-ChildItem -Path C:\ -Force -Recurse

Командлет Get-ChildItem позволяет отфильтровать элементы с помощью параметров Path, Filter, Include и Exclude, но обычно осуществляется лишь фильтрация по имени. Вы можете выполнять сложную фильтрацию на основе других свойств элементов с помощью Where-Object.

Следующая команда находит все исполняемые файлы в папке Program Files, которые в последний раз были изменены после 1 октября 2005 года и не имеют ни меньше 1 мб, ни 10 мегабайт:

Get-ChildItem -Path $env:ProgramFiles -Recurse -Include *.
exe | Where-Object -FilterScript { ($_.LastWriteTime -gt '2005-10-01') -and ($_.Length -ge 1mb) -and ($_.Length -le 10mb) }

Копирование файлов и папок

Копирование выполняется с помощью командлета Copy-Item. Следующая команда выполняет резервное копирование до C:\boot.iniC:\boot.bak:

Copy-Item -Path C:\boot.ini -Destination C:\boot.bak

Если целевой файл уже существует, то попытка копирования завершается неудачей. Чтобы перезаписать имеющийся целевой файл, используйте параметр Force.

Copy-Item -Path C:\boot.ini -Destination C:\boot.bak -Force

Эта команда работает, даже если целевой объект доступен только для чтения.

Так же выполняется и копирование папок. Эта команда копирует папку C:\temp\test1 в новую папку C:\temp\DeleteMe

рекурсивно.

Copy-Item C:\temp\test1 -Recurse C:\temp\DeleteMe

Можно также скопировать избранные элементы. Следующая команда копирует все .txt файлы, содержащиеся в любом месте в C:\dataC:\temp\text:

Copy-Item -Filter *.txt -Path c:\data -Recurse -Destination C:\temp\text

Для копирования элементов файловой системы можно использовать и другие средства. Объекты XCOPY, ROBOCOPY и COM, такие как Scripting.FileSystemObject, работают в PowerShell. Например, можно использовать com-класс Scripting.FileSystem узла сценариев Windows для резервного копирования C:\boot.ini в C:\boot.bak:

(New-Object -ComObject Scripting.FileSystemObject).CopyFile('C:\boot.ini', 'C:\boot.bak')

Создание файлов и папок

Создание новых элементов работает одинаково на всех поставщиках PowerShell. Если поставщик PowerShell имеет несколько типов элементов ( например, поставщик FileSystem PowerShell различает каталоги и файлы), необходимо указать тип элемента.

Эта команда создает папку C:\temp\New Folder:

New-Item -Path 'C:\temp\New Folder' -ItemType Directory

Эта команда создает пустой файл C:\temp\New Folder\file. txt.

New-Item -Path 'C:\temp\New Folder\file.txt' -ItemType File

Важно!

При использовании параметра Force с командой New-Item для создания папки, которая уже существует, она не перезапишет и не заменит папку. Будет просто возвращен имеющийся объект папки. Однако при использовании New-Item -Force в уже существующем файле файл будет перезаписан.

Удаление всех файлов и папок в папке

Удалить вложенные элементы можно с помощью командлета

Remove-Item, однако он потребует подтверждения удаления, если элемент сам что-нибудь содержит. Например, при попытке удалить папку C:\temp\DeleteMe , содержащую другие элементы, PowerShell запросит подтверждение перед удалением папки:

Remove-Item -Path C:\temp\DeleteMe
Confirm
The item at C:\temp\DeleteMe has children and the Recurse parameter wasn't
specified. If you continue, all children will be removed with the item. Are you
sure you want to continue?
[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help
(default is "Y"):

Если вы не хотите запрашивать каждый содержащийся элемент, укажите параметр Recurse :

Remove-Item -Path C:\temp\DeleteMe -Recurse

Сопоставление локальной папки в качестве диска

Отобразить локальную папку можно с помощью команды New-PSDrive. Следующая команда создает локальный диск

P:, корневым каталогом которого является локальный каталог Program Files, отображающийся только в сеансе PowerShell:

New-PSDrive -Name P -Root $env:ProgramFiles -PSProvider FileSystem

Как и в случае с сетевыми дисками, диски, сопоставленные в PowerShell, сразу же отображаются в оболочке PowerShell. Чтобы создать сопоставленный диск, видимый из проводник, используйте параметр Persist. Однако с параметром Persist можно использовать только удаленные пути.

Чтение текстового файла в массив

Одним из наиболее общих форматов хранения текстовых данных является файл, отдельные строки которого рассматриваются как отдельные элементы. Командлет Get-Content используется для чтения всего файла за один шаг, как показано далее:

PS> Get-Content -Path C:\boot.ini
[boot loader]
timeout=5
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional"
 /noexecute=AlwaysOff /fastdetect
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS=" Microsoft Windows XP Professional
with Data Execution Prevention" /noexecute=optin /fastdetect

Get-Content обрабатывает данные, считанные из файла, как массив с одним элементом в каждой строке содержимого файла. Убедиться в этом можно, проверив свойство Length полученного содержимого:

PS> (Get-Content -Path C:\boot.ini).Length
6

Эта команда наиболее полезна для получения списков сведений в PowerShell. Например, можно сохранить список имен компьютеров или IP-адресов в файле C:\temp\domainMembers.txtс одним именем в каждой строке файла. Вы можете использовать командлет Get-Content, чтобы извлечь содержимое файла и поместить его в переменную $Computers:

$Computers = Get-Content -Path C:\temp\DomainMembers.txt

Теперь переменная $Computers представляет собой массив, содержащий в каждом элементе имя компьютера.

Как принудительно удалить папку в Windows 11

Наверняка вы к сталкивались с ситуацией, когда не удавалось удалить ненужную папку в Windows 11. А все из-за того, что папка или файл использовались каким-то приложением или на папку или файл были наложены какие-либо ограничения в части прав доступа, например папка являлась системной и Windows не разрешал её удалить. В этой статье мы рассмотрим несколько вариантов удаления «неудаляемых» папок и файлов при помощи стандартных средств Windows, а также стороннего программного обеспечения. 

Способ 1. Удаляем не удаляемый файл/папку через командную строку (CMD)

Командная строка является одним из эффективных способов по принудительному удалению папок и фалов в ОС Windows 11.

Сперва запоминаем или копируем путь папки или файла, который хотим удалить. В нашем примере удалять будем папку «Work» (расположение «C:\Work»).

Теперь открываем командную строку с правами администратора одним из следующих способов: 1. Нажимаем «горячие» клавиши «Win+R», чтобы открыть окно «Выполнить», в котором указываем команду «cmd» в текстовом поле «Открыть». Затем, для того, чтобы открыть CMD с правами админа, нажимаем на клавиатуре клавиши «Ctrl+Shift+Enter».

2. Альтернативный способ запуска командной строки — через меню поиска Windows 11. Для этого нажимаем на меню «Пуск» (либо клавиши «Win+S») и в верхней поисковой строке вводим «cmd». Далее нажимаем на ссылку «Запуск от имени администратора».

Отлично! В появившемся окне CMD вводим следующую команду:

rmdir /s /q "Путь"

где «Путь» — расположение удаляемой папки или файла.

В нашем примере команда будет следующая:

rmdir /s /q C:\Work

Для выполнения команды не забываем нажать клавишу ввода «Enter».

Теперь папка будет удалена с ПК. Если в пути присутствуют проблемы, то добавляем двойные кавычки.

Способ 2. Удаляем не удаляемый файл/папку через безопасный режим

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

Существует несколько способов перехода в безопасный режим, рассмотрим один из них — нажимаем на клавиатуре клавиши «Win+R», указываем команду «msconfig» и нажимаем кнопку «ОК».

Запуститься окно «Конфигурация системы», в разделе «Параметры загрузки» отмечаем галочкой «Безопасны режим», параметр выбираем любой. Затем нажимаем кнопку «ОК» и подтверждаем перезагрузку, когда система запросит её. 

В безопасном режиме находим папку, которую хотим удалить, щелкаем по ней правой кнопкой мыши и нажимаем на значок корзины, чтобы удалить. Либо нажимаем клавишу «Del» на клавиатуре.

Вот и все! Папка или файл будут удалены с вашего компьютера.

Способ 3. Удаляем не удаляемый файл/папку через приложение «Unlocker»

В сети Интернет можно скачать стороннее бесплатное приложение, которое называется — Unlocker. Оно сможет помочь с удалением и разблокировкой любых папок и файлов на ПК с Windows 11.

Итак, скачиваем, устанавливаем и запускаем приложение «Unlocker». При запуске появится проводник приложения, в котором выбираем папку, необходимую для удаления и нажимаем кнопку «ОК».

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

Unlocker разблокируем файл/папку и удалит её с вашего ПК.

Способ 4. Удаляем не удаляемый файл/папку через приложение «WinRar»

Вот небольшой лайфхак — архиватор WinRAR так же как и Unlocker обладает возможностью разблокировки файлов/папок, а как это сделать смотрим дальше в инструкции.

Сперва скачиваем сам WinRAR, если его у вас нет. Затем переходим в проводнике Windows 11 к папке (в нашем примере папка «Work»), которую хотим удалить. Щелкаем правой кнопкой мыши по папке, чтобы отобразить контекстное меню, в котором наводим мышь на пункт «WinRAR», а затем щелкаем на подпункт «Добавить в архив…».

Появится окно WinRAR «Имя и параметры архива», в этом окне находим раздел «Параметры архивации» и отмечаем галочкой пункт «Удалить файлы после архивации», это и есть небольшой лайфхак. Теперь нажимаем кнопку «ОК», чтобы WinRAR создал архив и удалил заблокированную папку с нашего ПК.

Вот так легко избавиться от заблокированных файлов и папок в Windows 11.

Как удалить папку «Несуществующие»

Я скачал и распаковал музыкальный альбом на диск D:. Затем я удалил его с помощью Проводника, и он, похоже, выполнил свою работу.

Однако папка все еще существует, поэтому я безуспешно пытался ее удалить. Папка называется «Zac Brown Band — Greatest Hits So Far…» и кажется, что она пуста.

Если я попытаюсь удалить его, появится сообщение «Не удалось найти этот элемент»

Я не могу переименовать его, и я получу тот же отчет.

Если я пытаюсь открыть его, он сообщает, что он недоступен.

Я открыл CMD от имени администратора, и папка отображается как каталог, но я не могу ее открыть, и CMD сообщает: «Система не может найти указанный путь». (Я использовал компакт-диск «Zac Brown Band — Greatest Hits So Far…»)

Я даже очистил остальную часть папки «Загрузки» и безуспешно попытался УДАЛИТЬ *.

Если я попробую rmdir, он скажет мне, что папка не пуста, но я не могу попасть в папку, чтобы увидеть.

Я попробовал DIR /x, но имя осталось прежним.

Я попробовал несколько программ для разблокировки, но все они пришли к одному и тому же выводу: папка не существует.

Но он отображается в Проводнике и в командной строке.

Посоветуйте пожалуйста.

  • файлы-папки

При доступе к путям «стандартным» способом (через Win32) Windows всегда обрезает конечные точки пути по историческим причинам. Поэтому всякий раз, когда вы просите открыть foo... , ОС вместо этого пытается открыть foo , которого на самом деле не существует.

Вы можете обойти это, указав «путь NT» с префиксом \\?\ , что, скорее всего, является тем, как архиватор создал каталог в первую очередь:

 rmdir "\\?\D:\Downloads\ Zac Brown Band - Лучшие хиты на данный момент ..."
 

(Многие файловые менеджеры и архиваторы используют этот метод, потому что он позволяет обойти ограничение длины в 256 символов, и они не всегда стараются не создавать «плохие» имена файлов. )

Этого также не произойдет, если вы явно указать, какой поток данных удалять: (это работает в Cmd, но не в PowerShell)

 rmdir "Лучшие хиты на данный момент... :: $INDEX_ALLOCATION"
 

(Синтаксис имя_файла:имя_потока[:тип_потока] . Все файлы хранят свои первичные данные в безымянном потоке типа $DATA, а каталоги имеют несколько потоков, но самый важный из них имеет тип $INDEX_ALLOCATION.)

2

Похоже на повреждение файловой системы. Откройте командную строку от имени администратора, затем введите

чкдск D:/F . Это попытается исправить проблемы в файловой системе.

Если не удается удалить папку-призрак, попробуйте создать новую папку с точно таким же именем и местоположением, что и у папки-призрака, а затем удалите ее.

РЕДАКТИРОВАТЬ: я провел несколько тестов и обнаружил, что встроенные инструменты Windows не могут обрабатывать имена, которые заканчиваются точкой ( . ). Вы можете удалить эту папку, открыв 7-Zip File Manager, найдите папку, выберите ее и нажмите Shift 9.0068 + Удалить . Это должно удалить застрявшую папку.

8

Зарегистрируйтесь или войдите в систему

Зарегистрируйтесь с помощью Google

Зарегистрироваться через Facebook

Зарегистрируйтесь, используя адрес электронной почты и пароль

Опубликовать как гость

Электронная почта

Требуется, но никогда не отображается

Опубликовать как гость

Электронная почта

Требуется, но не отображается

Нажимая «Опубликовать свой ответ», вы соглашаетесь с нашими условиями обслуживания, политикой конфиденциальности и политикой использования файлов cookie

.

windows 10 — удаление папки из проводника, которой больше нет в файловой системе

Задавать вопрос

спросил

Изменено 3 года, 6 месяцев назад

Просмотрено 2к раз

Я удалил приложение с помощью официального MSI-пакета продукта, оно работало, как и ожидалось, но, похоже, оставило «фантомную» папку, которая блокирует мою следующую установку.

Я на 99% уверен, что смогу решить эту проблему, просто перезапустив хост, но в интересах поиска более плавного решения (давайте просто представим, что это производственный сервер, который нельзя быстро перезапустить) я подумал, что могу предоставить некоторую информацию вот и смотри что выяснится.

Некоторые примечания:

  1. Все команды выполнялись в командной строке с повышенными привилегиями.
  2. Моя учетная запись является членом группы локальных администраторов.

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

Попытка УДАЛИТЬ папку с помощью PowerShell (с повышенными правами)

  • [Remove-Item], ItemNotFoundException
  • Не удается найти путь «C:\ProgramData\FOLDER», так как он не существует
  • Разрешение запрещено: (C:\ProgramData\FOLDER:String)
  • [Удалить элемент], UnauthorizedAccessException

Попытка ДОСТУПА к папке с помощью Проводника

  • C:\ProgramData\Folder недоступна

Попытка УДАЛИТЬ папку с помощью Проводника

  • Действие удаления запрашивает повышение прав.
  • При повышении происходит сбой с этим сообщением.

Ваш комментарий будет первым

    Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *