Как очистить папку windows: Что можно удалить из папки Windows 10 / 8 / 7?
Содержание
Как почистить папку Windows в Windows 10
Содержание
- Полезная информация
- Способ 1: Сторонний софт
- Способ 2: Системные инструменты
- Способ 3: Выборочная очистка
- WinSxS
- Temporary Files
- Software Distribution
- Prefetch
- Fonts
- Вопросы и ответы
В каталоге «Виндовс» хранятся данные, необходимые для нормальной работы системы, поэтому лишний раз трогать его не стоит. В то же время, он накапливает большое количество временных и ненужных файлов, которые в ситуации критической нехватки свободного места на диске можно удалить. Сегодня мы расскажем, как это сделать на компьютере с Windows 10.
Полезная информация
Прежде чем приступить к чистке одной из самых важных папок Windows 10, создайте резервную копию системы. По возможности используйте для этого внешний жесткий диск. О способах резервного копирования «десятки» мы подробно писали в отдельной статье.
Подробнее: Как создать резервную копию Windows 10
Чтобы было удобно следить за результатами очистки, можно использовать анализаторы дискового пространства. Они в одном окне наглядно показывают, сколько места занимает каждый каталог в папке «Виндовс». На примере программы TreeSize Free это выглядит так:
Скачать TreeSize Free с официального сайта
- Устанавливаем приложение, щелкаем по ярлыку правой кнопкой мышки и запускаем его от имени администратора.
- Во вкладке «Главная» нажимаем «Выбрать каталог», а затем «Выбрать каталог для сканирования».
- На системном диске находим папку «Windows» и жмем «Выбор папки».
- Когда приложение проанализирует каталог, оно покажет, какой общий объем и сколько дискового пространства занимает каждая его подпапка.
- Чтобы повторно просканировать папку, нажимаем «Обновить».
Несмотря на то что с помощью TreeSize Free можно удалять файлы, в данном случае делать этого не стоит. На очистку большинства системных данных у программы просто не будет разрешения, а некоторые папки нельзя чистить без специальных инструментов ОС.
Способ 1: Сторонний софт
Одним из самых простых и быстрых способов уменьшения размера папки «Виндовс» и других каталогов системного диска является специальное ПО. Разберем, как это сделать на примере программы CCleaner:
Скачать CCleaner
- Запускаем приложение, переходим к блоку «Стандартная очистка» и открываем вкладку «Windows». Здесь уже отмечены типы файлов, которые рекомендуется удалить. Жмем «Анализ».
Дополнительно можно отметить и остальные пункты, но обычно много места они не освобождают, зато существенно увеличивают время очистки.
- Нажимаем «Очистка» и ждем, когда приложение завершит работу.
СиКлинер – в первую очередь, средство оптимизации системы, поэтому удаляет только самые ненужные файлы. Глубоко в папку «Windows» оно лезть не будет. Поэтому когда нужно освободить место на диске, этот способ эффективнее применять вместе со следующими двумя.
Способ 2: Системные инструменты
Чуть больше системных файлов позволяет очистить встроенное в ОС приложение «Очистка диска».
- С помощью поиска Виндовс открываем приложение «Очистка диска».
Читайте также: Как открыть поиск в Windows 10
- Выбираем системный диск и жмем «OK».
- Нажимаем «Очистить системные файлы» и ждем, когда приложение повторно оценит объем места, которое можно освободить.
- Выбираем файлы, читаем внизу описания к ним и ставим галочки напротив тех, которые собираемся удалить. Помним, что система не даст стереть то, без чего не сможет работать. Жмем «OK».
Подтверждаем действие. Приложению понадобится время для завершения очистки. Как и в первом способе будут удалены файлы не только из папки «Windows», но и из других каталогов системного диска.
Способ 3: Выборочная очистка
Рассмотрим способ, позволяющий производить более нацеленную чистку, т. е. стирать только те данные, которые находятся в пределах каталога «Виндовс». Заодно разберемся, какие подпапки из него можно дополнительно почистить без вреда для системы.
WinSxS
Речь идет о хранилище компонентов Windows, которое предназначено для поддержки функций, необходимых при обновлении и настройке системы. Например, файлы, содержащиеся в ней, используются для включения, отключения и установки новых версий компонентов Виндовс, восстановления системы, удаления проблемных обновлений и др. Вручную удалять или перемещать «WinSxS» нельзя, так как эти действия могут навредить системе. Зато можно уменьшить ее размер при помощи встроенных в ОС инструментов.
- В поиске Windows вводим «Командная строка» и запускаем ее с правами администратора.
Читайте также: Запуск «Командной строки» от имени администратора в Windows 10
- В поле вводим код:
Dism.exe /online /cleanup-image /AnalyzeComponentStore
Нажимаем «Enter».
- Утилита проанализирует хранилище компонентов системы и сообщит, нуждается ли оно в чистке.
- Для очистки вводим код:
Dism.exe /online /cleanup-image /StartComponentCleanup
Нажимаем «Enter» и ждем завершения процесса.
«WinSxS» сам по себе объемный каталог, поэтому если его размер меньше 8 Гб, много места вряд ли удастся освободить. Другие способы очистки «WinSxS» мы подробно описали в отдельной статье.
Подробнее: Способы очистки папки WinSxS в Windows 10
Temporary Files
Каталог «Temp» используется системой для хранения временных файлов, которые могут ей пригодится, но не являются важными. Поэтому если он занимает много места, его можно удалить. Более подробно об очистке «Temp» мы писали в отдельной статье.
Подробнее: Как очистить системную папку Temp
Software Distribution
Эту папку Центр обновления Windows использует для загрузки апдейтов и последующей их установки. Ее иногда чистят специально, чтобы устранить неполадки с обновлением системы. Сделать это можно вручную. При этом если какие-нибудь апдейты не успели установиться, они будут заново загружены. Находим «Software Distribution» в каталоге «Windows» и удаляем все данные из папки «Download».
Prefetch
После каждого запуска компьютера Виндовс отслеживает, какие программы пользователи используют чаще всего. Эту информацию она хранит в виде записей в папке «Prefetch», чтобы в следующий раз запустить это ПО быстрее. Многие приложения со временем удаляются, но записи о них остаются. Если они занимают много места, удаляем все данные из «Prefetch». Через несколько запусков система все равно восстановит всю нужную ей информацию.
Fonts
Операционная система, помимо стандартных, хранит шрифты установленного на компьютере программного обеспечения. Если папка с ними слишком объемная, можно удалить лишние, оставив только те, которые были установлены вместе с системой.
- Переходим в папку Виндовс и находим каталог «Fonts».
- Откроется список со шрифтами. Внизу можно посмотреть, сколько всего в нем позиций.
- Прокручиваем список вправо до столбца «Дизайнер/издатель» и удаляем все шрифты, которые не принадлежат Microsoft Corporation.
Теперь вы знаете, как безопасно можно очистить папку Windows. Здесь все зависит от ситуации. Если нужно просто удалить «мусор» с компьютера, приложение CCleaner и подобные ему – оптимальный вариант. Если цель – освободить как можно больше места на диске, лучше воспользоваться сразу всеми способами.
Очистка папки Windows от мусора (Installer, ServiceProfiles, WinSxS) на RDS
Обновлено 09.10.2018
Добрый день! Уважаемые читатели и гости, крупного IT блога Pyatilistnik.org. В прошлый раз я вам рассказал, о решении ситуации, с процессом Print Filter Pipeline Host загружающим процессор на 100%, сегодня мы вернемся опять к терминальным службам и рассмотрим ситуацию, когда у вас заканчивается дисковое пространство на ваших узлах сеансов удаленных рабочих столов (RDSH — Remote Desktop Session Host). Я покажу, как производится очистка места на RDS ферме. Уверен, что данная ситуацию, рано или поздно случается со многими компаниями.
Куда девается свободное место в службах удаленных рабочих столов
Описываю классическую ситуацию. Есть RDS ферма, которая состоит из двух посредников (RD Connection Broker) и 15-20 хостов RDSH, к котором непосредственно подключаются удаленные пользователи. В большинстве случаев, пользователи имеют перемещаемые профили. Все хорошо, все работает, но случается момент, что появляется еще пара сотен юзеров, например, из-за расширения компании или поглощения другой, это не важно. На ваших узлах, становится катастрофически не хватать свободного места. Если у вас виртуальные машины, то тут проще можно расширить ресурсы, при наличии места на датасторах, в случае с физическими серверами сложнее, так как расширять существующие RAID массивы, очень геморройная вещь, да и места на СХД, может так же не хватать. Да и расширять до бесконечности вы не можете. Плюс за счет того, что профили перемещаемые, то вы должны умножить новое дисковое пространство на количество ваших узлов, вот такая математика.
Давайте посмотрим, что вы можете предпринять для оптимизации, без расширения дискового пространства. Первым делом мы с вами воспользуемся утилитами, которые позволят посмотреть, чем конкретно заняты ваши жесткие диски. Тут утилит много, я могу выделить бесплатную WinDirStat или платную TreeSize.
Скачиваете утилиту WinDirStat https://windirstat.net/download.html или у меня из облака
Установка WinDirStat, очень тривиальная, я не буду ее приводить. После инсталляции запускаем утилиту. На первом экране WinDirStat, попросит вас выбрать локальный диск или каталог для сканирования файлов. В моем примере на Remote Desktop Session Host хосте, один диск C:\, его я и выбирая.
У вас начнется сканирование вашего локального диска, на предмет того, чем он занят. Вы увидите забавных пакменов.
Как видим, у меня самым объемным является папка Users, второй папка Windows 45 ГБ. С правой стороны вы увидите столбец по форматам, там сразу можно выделить MP4 или MSI, видно сколько они занимают. Ниже разноцветные квадраты, это так выглядят все типы файлов на жестком диске в этой утилите.
Открыв папку профили, вы сразу видите самые объемные из них, смотрите, чем они заняты и проводите зачистку, с визгами и орами от пользователей. Но тут никак больше.
Очистка папки Windows от мусора
Далее мы посмотрим, почему папка Windows занимает 45 ГБ, что очень странно. Открыв более подробное описание, мы с вами видим, что 70% папки Windows на моем хосте RDS фермы, занимают три папки:
- Installer
- ServiceProfiles — в данной папке хранятся кэшированные шрифты для различных программ, для каждого пользователя
- WinSxS — Это служебная папка операционной системы Windows служащая для хранения ранее установленных версий системных компонентов.
Благодаря ее наличию существует возможность отката к более старой версии обновления в случае необходимости
Что такое и как очистить папку Installer
Папка Windows Installer — это системная папка, где хранятся необходимые для удаления или обновления программ их инсталляторы, дистрибутивы различных программных компонентов, патчи, файлы не установившихся системных обновлений и прочие данные, которые необходимы системе и установленному софту для определенных процессов.
Как видите у меня папка Windows Installer занимает много места, это аж 15 ГБ. Если открыть ее содержимое, то вы увидите GUID номера, ваших программ.
Если более детально капнуть в папку Windows Installer, то тут в основном лежат файлы msp, это пакеты обновления, MSI и MST файлы.
Хочу отметить, что папка Installer, по умолчанию скрыта, и для ее отображения, вы должны включить скрытые файлы и папки в Windows.
Можно ли удалить папку Windows Installer?
Напоминаю, что в папке C:\Windows\Installer лежат инсталляторы программ, которые используются для их правильного удаления, восстановления. Простой пример, когда вы заходите в панель управления Windows, то на большинстве программ вы видите эти статусы.
Простой пример из жизни, один из моих приятелей удалил содержимое Installer, в итоге получил ситуацию, что когда ему нужно было удалить Microsoft Office и поставить новую версию, он получил ошибку, что этого сделать нельзя.
Полностью удалять содержимое папки Windows Installer НЕЛЬЗЯ!!!!
Так, что если Windows Installer занимает много места, не стоит ее сразу полностью удалять, к этому делу нужно отнестись, очень избирательно. Как мы поняли, она точно нужна и отвечает за ваши программы, но парадокс операционной системы Windows в том, что когда вы удалил какую-то программу, ее инсталлятор, останется лежать в данной папке, в виде мусора и занимать дисковое пространство, вам ведь это не нужно. Так что приступам к ее чистке.
Как правильно очистить папку windows installer
Перед всеми нашими манипуляциями, вы должны обязательно выполнить вот что:
- Создать точку восстановления системы Windows, чтобы легко можно было откатиться назад
- в случае с RDS фермой в виде виртуальной машины, можно сделать простой снапшот, и не придется делать точку восстановления в Windows
- Если первые два пункта не выполнимы, то хотя бы скопируйте ее содержимое в другое место, на случай восстановления
Для того, чтобы правильно очистить каталог C:\Windows\Installer, можно воспользоваться бесплатной утилитой PatchCleaner.
Скачать PatchCleaner вы можете у меня по ссылке или же с официального сайта http://www.homedev.com.au/Free/PatchCleaner
Как работает PatchCleaner. Операционная система Windows содержит список текущих установщиков и патчей, к которым можно получить доступ через вызовы WMI ( Инструментарий управления Windows ). PatchCleaner получает этот список известных файлов msi/msp и сравнивает их со всеми файлами msi/msp, которые находятся в каталоге c:\Windows\Installer. Все, что находится в папке, но не в списке, представленном окнами, считается сиротскими файлами и помечено для перемещения или удаления.
Производим установку PatchCleaner , для очистки места на RDS ферме. На пермом экране мастера установки, нажмите «Next».
Принимаем лицензионное соглашение «I Agree»
Указываем для каких пользователей будет устанавливаться PatchCleaner.
next.
Установка PatchCleaner завершена, запускаем ее.
После запуска, утилита проведет сканирование. У вас будет два показателя:
- Общее количество пакетов в папке Installer
- Количество устарелых файлов
По пути Move Loction, будет делаться резервная копия, на всякий случай, можете при желании изменить данный путь.
Нажав на кнопку «details», вы увидите более подробный список, устаревших пакетов msp, прочитать к каким программам, они относились.
Чтобы запустить процесс освобождения дискового пространства на ферме RDS и уменьшить размер папки C:\Windows\Installer, нажмите кнопку «Move».
Вас спросят, хотите ли вы этого, нажимаем yes
Все уменьшение папки Installer выполнено.
Видим, что больше в системе нет устаревших файлов.
В папке с резервной копией, теперь лежат ваши устаревшие файлы.
Если вы не хотите производить чистку Windows Installer, или просто боитесь это делать, но располагаете в системе другим, дополнительным диском, на котором есть свободное место, то можете перенести C:\Windows\Installer на него, для этого можно воспользоваться символическими ссылками, мы их уже использовали когда переносили OST файл в Outlook.
Предположим у меня есть еще диск E:\, и на нем есть 100 гб свободного места и я бы хотел на него перенести системную папку, для этого открываем командную строку с правами администратора и вводим команду, но перед этим ОБЯЗАТЕЛЬНО, скопируйте C:\Windows\Installer в E:\Installer.
mklink /j «c:\windows\installer» «e:\Installer»
Теперь если вы зайдете в каталог C:\Windows\Installer, то увидите на папке стрелочку в левом углу, это означает, что это символическая ссылка, ведущая в другое место. Надеюсь с папкой Installer мы разобрались, и очистили часть места на RDS ферме.
Что такое и как очистить папку ServiceProfiles
ServiceProfiles — в данной папке хранятся кэшированные шрифты для различных программ, для каждого пользователя. Когда таких пользователей много, то и размер папки может быть большим. Как видите по пути C:\Windows\ServiceProfiles\LocalService\AppData\Local, лежит огромное количества FontCache файлов, по 8 МБ. Как я и говорил выше, это кэшированные шрифты, под каждую программу для каждого пользователя. В моем случае, данная папка занимает 10 ГБ, что очень много.
Я нашел ответ от разработчика Windows, что делал эту службу кэширования, его зовутNiklas Borson, вот что он отвечал, на вопрос, почему на RDS ферме, папка ServiceProfiles имеет большой размер.
Эти файлы FontCache-S — * .dat создаются службой Windows Font Cache. Я разработчик этой службы и могу подтвердить, что сказал Крис выше. Можно безопасно удалять эти файлы. Служба просто обновит их по мере необходимости. Просто чтобы подтвердить, проблему, которую вы наблюдаете, — с большим количеством файлов. Другими словами, упомянутый выше размер, должен быть общим размером для всех файлов. В Windows 8 и 8.1 каждый файл должен быть 8 МБ.
Как вы уже догадались, эти файлы предназначены для каждого пользователя, поэтому, если многие пользователи заходят на сервер, вы можете получить множество из этих файлов. К сожалению, служба Font Cache автоматически не удаляет старые файлы кэша для каждого пользователя, поэтому я боюсь, что вам придется обойти это самостоятельно. Например, вы можете создать запланированную задачу обслуживания, которая автоматически удалит все файлы FontCache-S — * .dat, если их общий размер превышает определенную сумму. Это безопасное обходное решение.
Кэширование происходит, чтобы разгрузить центральный процессор от постоянного обращения, тем самым сэкономив производительность.
Вот тут есть обсуждение данной проблемы https://social.technet.microsoft.com/Forums/ie/en-US/3795364f-b66c-43ae-82d3-8ed5eb1aa2ce/local-service-system-profile-grown-to-extremely-large-size?forum=winserverTS
В свою очередь, вы можете сделать bat файл вот с таким содержимым, и удалять файлы старше 30 дней из папки ServiceProfiles. Скрипт останавливает две службы:
- Служба кэша шрифтов Windows (Windows Font Cache Service)
- Кэш шрифтов Windows Presentation Foundation 3.0.0.0 (Windows Presentation Foundation Font Cache 3.0.0.0
net stop FontCache && net stop FontCache3.0. 0.0
forfiles /P C:\Windows\ServiceProfiles\LocalService\AppData\Local /M FontCache* /D -30 /C «cmd /c del @path»
net start FontCache && net start FontCache3.0.0.0
Что такое и как очистить папку WinSxS
Папка WinSxS — Это служебная папка операционной системы Windows служащая для хранения ранее установленных версий системных компонентов. Благодаря ее наличию существует возможность отката к более старой версии обновления в случае необходимости.
Очистка папки WinSxS в Windows 10, 8 и Windows 7
Продолжаем с вами производить очистку в папке Windows, от всевозможного хлама, и на очереди у нас с вами папка WinSXS, выше я написал, что из себя представляет данная папка. Как видите утилита WinDirStat, показывает что WinSxS, занимает 7,2 гб, для этой папки, это размер в пределах нормы, но если вы у себя видите, здесь 10-15 гб и более, то это повод задуматься над ее очисткой.
Есть распространенный миф о гигантских размерах этой папки, что на самом деле не совсем так. Дело в том, что подавляющее большинство содержимого папки WinSxS является «жесткими ссылками», а Проводник и файловые менеджеры это не учитывают. Реальный вес этой папки гораздо меньше, чем пишется в ее свойствах.
Можно ли удалить папку winsxs
Саму папку удалять конечно же не стоит, а вот правильно ее почистить, это правильное решение. Ранее я вам рассказывал про встроенную утилиту в Windows, под названием cleanmgr (Очистка диска). Там запустив утилиту у вас появлялся мастер «Параметры чистки диска», в котором, чтобы была произведена очистка папки winsxs, нужно было выбрать пункт «Очистка обновлений Windows».
Если вы любите все делать из консоли, то вот вам пример очистки папки WinSxS в Windows 10. Запускаем командную строку от имени администратора и вводим команду:
Dism.exe /online /cleanup-image /AnalyzeComponentStore
Папка хранилища компонентов будет проанализирована и вы увидите сообщение о необходимости ее очистки, вы увидите ее размер.
Введите команду Dism.exe /online /cleanup-image /StartComponentCleanupи нажмите Enter для запуска автоматической очистки папки WinSxS.
Для операционной системы Windows 8.1 или Windows Server 2012 R2, подойдет команда:
dism.exe /Online /Cleanup-Image /StartComponentCleanup /ResetBase
По умолчанию операционные системы Windows Server 2008 R2 или 2012 R2, не имеют установленного компонента «Очистка диска», как его доставить, читайте вот тут:
- Cleanmgr в Windows Server 2008 R2
- Cleanmgr в Windows Server 2012 R2
Автоматическая очистка резервных копий обновлений в WinSxS
Помимо очистки содержимого данной папки вручную, вы можете воспользоваться планировщиком заданий Windows, для того, чтобы это происходило автоматически.
Для этого необходимо создать простую задачу StartComponentCleanup в Microsoft\Windows\Servicing с нужной периодичностью выполнения. Как видите ваши RDSH хосты могут быть забиты большим количеством мусора и старых файлов, которые создает сама Windows, поэтому обязательно производите чистку папок Installer, ServiceProfiles, WinSxS. С вами был Иван Семин, автор и создатель IT блога Pyatilistnik.org.
windows 7 — Как я могу удалить все файлы/подпапки в данной папке через командную строку?
спросил
Изменено
2 месяца назад
Просмотрено
585 тысяч раз
Я хочу удалить все файлы и подпапки в пакетном файле в Windows 7 и сохранить верхнюю папку. В основном очистка папки. Какова инструкция командной строки для этого?
- окна-7
- окна
- командная строка
3
Вы можете сделать это, используя del
и флаг /S
(чтобы удалить все файлы из всех подкаталогов):
del /S C:\Path\to\directory\*
12
Лучшее решение:
например я хочу удалить все файлы и подкаталоги родительского каталога, скажем, «C:\Users\Desktop\Новая папка\». Самый простой способ — создать пакетный файл из трех команд ниже.
cd C:\Users\Desktop\Новая папка\
дел * /S /Q
rmdir /S /Q «C:\Users\Desktop\Новая папка\»
Сначала он очистит все файлы во всех подкаталогах, а затем очистит все пустые подкаталоги.
Поскольку текущий рабочий каталог является родительским каталогом, то есть «\Новая папка», команда rmdir не может удалить этот каталог сама.
6
Перейти в родительский каталог:
pushd "Родительский каталог"
Удалить подпапки:
rd /s /q . 2>ноль
6
rmdir "c:\pathofyourdirectory" /q /s
Не забудьте использовать кавычки, а для /q /s
он удалит все репозитории без запроса.
2
вы можете использовать rmdir для удаления файлов и подпапок, например:
rmdir /s/q MyFolderPath
Однако это значительно быстрее, особенно когда в вашей структуре много подпапок, чтобы использовать del перед rmdir, например:
del /f/s/q MyFolderPath > nul rmdir /s/q путь к папке
2
Вы можете сделать это быстро и легко, поместив эти три инструкции в свой bat-файл:
mkdir empty_folder robocopy /mir пустая_папка "путь_к_каталогу" rmdir пустая_папка
2
user340956 был мучительно близок к решению, но вы знаете, что говорят о close…
Для ясности, rd /s /q c:\foobar
удаляет целевой каталог в дополнение к его содержимому, но вы не всегда хотите удалить сам каталог, иногда вы просто хотите удалить его содержимое и оставить каталог в покое. Команда
deltree
могла это сделать, но Micrsoft в своей безграничной «мудрости» удалила эту команду и не перенесла ее в Windows.
Вот решение, которое работает, не прибегая к сторонним инструментам. Это, вероятно, настолько просто и эффективно, насколько это возможно с помощью сценария командной строки, вместо прямого написания фактического исполняемого файла. Он не устанавливает никаких переменных среды и не использует никаких циклов. Это также настолько безопасно, насколько это возможно, с проверкой ошибок везде, где это возможно, а также настолько удобно, насколько это возможно, со встроенными документами.
dt.bat
(или dt.cmd
для детей; кому как, я старый, пользуюсь 9> %0 ДИР.
эхо.
echo %0 заменяет deltree, рекурсивно удаляет содержимое
эхо (файлы и папки) каталога, но не самого каталога
эхо.
echo DIR — это каталог, содержимое которого необходимо удалить.
перейти: eof
:wrongdir
echo Не удалось перейти в целевой каталог. Недействительным каталог? В доступе отказано?
перейти: eof
Вот как это работает:
- Проверяет, был ли передан аргумент командной строки, печатает информацию об использовании и завершает работу, если нет.
- Он использует
pushd
для сохранения текущего каталога, затем переключается на целевой каталог, перенаправляя любые ошибки наnul
для более чистой работы с командной строкой (и более чистых журналов). - Проверяет, совпадает ли текущий каталог с целевым каталогом, выводит сообщение об ошибке и завершает работу, если это не так. Это позволяет избежать случайного удаления содержимого предыдущего каталога в случае сбоя команды
pushd
(например, передача недопустимого каталога, ошибка доступа и т. д.).- Эта проверка нечувствительна к регистру, поэтому обычно безопасна в Windows, но не для любых файловых систем, чувствительных к регистру, таких как те, которые используются системами *nix, даже под Windows.
- Не работает с короткими именами файлов (например,
C:\Users\Bob Bobson\foobar
не будет считаться таким же, какC:\Users\BobBob~1\foobar
, даже если они на самом деле ). Использование некоротких имен файлов вызывает небольшое неудобство, но лучше перестраховаться, чем потом сожалеть, тем более что SFN не всегда надежны и не всегда предсказуемы (и даже могут быть вообще отключены).
- Эта проверка нечувствительна к регистру, поэтому обычно безопасна в Windows, но не для любых файловых систем, чувствительных к регистру, таких как те, которые используются системами *nix, даже под Windows.
- Затем он использует
rd
для удаления целевого каталога и всего его содержимого, перенаправляя любые ошибки (которых должна быть хотя бы одна для самого каталога) наnul
. Некоторые примечания по этому поводу:- Поскольку целевой каталог является текущим каталогом, система имеет для него открытый дескриптор файла и, следовательно, не может фактически удалить его, поэтому он остается как есть, что является желаемым поведением.
- Поскольку он не пытается удалить целевой каталог до тех пор, пока его содержимое не будет удалено, теперь он должен быть пустым (кроме всего, что также имеет открытые файловые дескрипторы).
- Наконец, он использует
popd
для возврата в предыдущий текущий каталог и завершает сценарий.
(Если хотите, вы можете прокомментировать скрипт с приведенными выше описаниями, используя rem
или ::
.)
2
Если вы хотите удалить все файлы в папке, включая все подпапки, и не полагаться на некоторые условия ошибки, чтобы сохранить корневую папку неповрежденной (как я видел в другом ответе)
у вас может быть такой пакетный файл:
@эхо выключено REM Проверка параметра командной строки если "%~1"=="" ( эхо Обязательный параметр. выход / б 1 ) еще ( REM Смена каталога и отслеживание предыдущего pushd "%~1" если уровень ошибки 1 ( REM Каталог, переданный из командной строки, недействителен, остановитесь здесь. выход /b %errorlevel% ) еще ( REM Сначала удаляем все файлы, в том числе и в подкаталогах, без подтверждения дель * /S /Q REM Затем мы удаляем все оставшиеся пустые подкаталоги.for /f %%D IN ('dir /b /s /a:d "%~1"') DO rmdir /S /Q "%%D" REM Вернуться к предыдущему каталогу попд РЭМ Все хорошо. выход / б 0 ) )
И тогда вы просто вызовете его с помощью:
empty_my_folder.bat "C:\что угодно\моя папка"
1
Чтобы удалить файл:
del PATH_TO_FILE
Чтобы удалить папку со всеми файлами в ней:
rmdir /s /q PATH_TO_FOLDER
Удалить все файлы из определенной папки (не удаляя саму папку) немного сложно. del /s *.*
не может удалять папки, но удаляет файлы из всех подпапок. Итак, нужны две команды:
del /q PATH_TO_FOLDER\*.* для /d %i в (PATH_TO_FOLDER\*.*) do @rmdir /s /q "%i"
Вы можете создать сценарий для удаления всего, что хотите (папку или файл), например, mydel.bat
:
@echo off setlocal enableextensions если "%~1"=="" ( эхо Использование: %0 путь выход / б 1 ) :: проверить, папка это или файл установить ISDIR=0 установить ATTR=%~a1 установить DIRATTR=%ATTR:~0,1% если /i "%DIRATTR%"=="d" установить ISDIR=1 :: Удалить папку или файл если %ISDIR%==1 (rmdir /s /q "%~1") else (del "%~1") выход /b %ERRORLEVEL%
Несколько примеров использования:
mydel.bat "путь\к\папке с пробелами" mydel.bat путь\к\файлу_или_папке
Для удаления всех подкаталогов и их содержимого используйте robocopy. Создайте пустой каталог, например C:\Empty. Допустим, вы хотите очистить C:\test, в котором много подкаталогов и файлов, а также подкаталогов и файлов:
robocopy c:\empty c:\test /purge
затем rd C:\test, если это необходимо.
У меня это работало лучше, когда в именах папок были пробелы.
@эхо выключено REM ---- Пакетный файл для очистки папки REM Проверка параметра командной строки если "%~1"=="" ( эхо Обязательный параметр. выход / б 1 ) еще ( эхо **************************************************** ************************************* echo *** Удаление всех файлов, в том числе и в подкаталогах, без подтверждения *** del "%~1\*" /S /Q эхо **************************************************** ************************************* REM Удаление всех оставшихся пустых поддиректорий FOR /R "%~1" %%D IN (.) DO ( если "%%D"=="%~1\." ( echo *** Очистка папки: %~1 *** ) еще ( echo Удалена папка "%%D" каталог /S /Q "%%D" ) ) РЭМ Все хорошо. выход / б 0 )
1
Если вы хотите очистить папку, мой вариант:
@ECHO OFF :выбор клс set /P c=какой каталог? [Рабочий стол, документы, загрузки, изображения] if /I "%c%" EQU "Рабочий стол" set Point = "Рабочий стол" if /I "%c%" EQU "Документы" set Point = "Документы" if /I "%c%" EQU "Загрузки" set Point = "Загрузки" if /I "%c%" EQU "Изображения" set Point = "Изображения" if /I "%c%" EQU "Видео" set Point = "Видео" перейти к выбору set /P d=какой подкаталог? Если вы ставите несколько. Ваш должен быть похож на «путь/к/папке» (без файлов!!) ЕСЛИ НЕ СУЩЕСТВУЕТ C:\Users\%USERNAME%\%Point%\%d% ПЕРЕЙТИ В NOWINDIR rmdir C:\Users\%USERNAME%\%Point%\%d% mkdir C:\Users\%USERNAME%\%Point%\%d% :НОВИНДИР mkdir C:\Users\%USERNAME%\%Point%\%d%
Вот как просто!
Надеюсь, я помог вам!
Я рекомендую вам взять весь код, если вы не хотите брать весь код, вы можете упростить это с помощью.
ЕСЛИ НЕ СУЩЕСТВУЕТ *путь сюда* GOTO NOWINDIR rmdir *путь сюда* mkdir *путь сюда* :НОВИНДИР mkdir *путь сюда*
РЕДАКТИРОВАТЬ:
rmdir не будет работать, если он не пуст. Чтобы исправить это.
ЕСЛИ НЕ СУЩЕСТВУЕТ *путь сюда* GOTO NOWINDIR del *путь сюда*/* /S /Q (не копируйте это, приведенное выше не позволяет команде del удалить все в папке, это похоже на другой ответ.) rmdir *путь сюда* mkdir *путь сюда* :НОВИНДИР mkdir *путь сюда*
Не уверен, что это работает, но…
sdelete -s -p *путь сюда*/*
1. Что запросил OP
del /f /s /q "C:\some\Path\*.*" rmdir /s /q "C:\some\Путь" mkdir "C:\some\Путь"
Это удалит все файлы и папки, включая каталог "C:\some\Path"
, но переделает верхний каталог в конце.
2. Что нужно большинству людей
del /f /s /q "C:\some\Path\*.*" rmdir /s /q "C:\some\Путь"
Это полностью удалит "C:\some\Path"
и все его содержимое
Если у OP есть какое-то странное конкретное требование не трогать каталог верхнего уровня ни в каком качестве. .. они должны упомянуть об этом в своем вопрос 🙂
1
Ни один из уже опубликованных здесь ответов не очень хорош, поэтому я добавлю свой собственный ответ.
Попробуйте так:
for /f "delims=" %i in ('dir path\to\folder /s /b /a:-d') do del "%i" /f /q /s fot /f "delims=" %i in ('путь к каталогу\к\папке /s /b /a:d') do rd "%i" /q /s
Это должно сработать.
1
Кажется, все упускают из виду тот факт, что мы хотим удалить несколько подпапок, но НЕ удаляем родительскую папку. Мы также можем не знать всех названий подпапок и не хотим делать это по отдельности.
Итак, нестандартно думая, вот как я решил эту проблему.
mkdir c:\EmptyFolderToBeDeletedSoon
Robocopy /Purge c:\EmptyFolderToBeDeletedSoon c:\FolderIWantEmpty
rmdir c:\EmptyFolderToBeDeletedSoon
Создать пустой временный каталог.
Используйте команду RoboCopy с переключателем /Purge (/PURGE :: удалить целевые файлы/каталоги, которые больше не существуют в исходном коде.), используя пустую папку в качестве источника и папку, которую мы хотим очистить, в качестве места назначения.
Удалите пустую временную папку, которую мы создали как пустой источник для Robocopy.
Теперь у вас есть пустая папка со всеми файлами и папками, о чем и была вся эта строка.
Это то, что сработало для меня.
- Перейдите в папку, из которой вы хотите удалить файлы.
- Тип:
дел *
-
Y
для да. - Готово
Пример: удалить все (папки/подпапки/файлы) в папке 3D Objects, но оставить только папку 3D Objects
pathThere=»C:\Users\PhilosophyPoet\3D Objects»
Путь компакт-дискаТам
RMDIR /s /q pathThere
Когда CMD ориентирован на рабочий каталог, использование RMDIR удалит все папки, подпапки и файлы из рабочего каталога. Похоже, что процесс CMD не может обрабатывать себя так же, как «Я не могу броситься в мусорное ведро, потому что мусорное ведро должно быть кем-то опечатано»
Вот двухстрочное решение, которое я только что придумал, возможно, используя ошибку или неожиданное поведение в robocopy
. Это работает с новейшей версией
cmd
и robocopy
в Windows 10 на момент написания этой статьи.
Зеркало синхронизирует пустую подпапку с родительской папкой. Другими словами, в родительской папке должны быть все те же файлы, что и в подпапке: нет. Забавно, это означает, что он также удаляет пустую подпапку, с которой ему указано синхронизироваться.
В этом примере будет очищена папка Temp
для текущего пользователя. Обратите внимание, что он использует переменную окружения %TEMP%, которая cmd
заменяется чем угодно, например C:\Users\Dobby_the_Free\AppData\Local\Temp
:
mkdir %TEMP%\i_like_cheez robocopy /mir %TEMP%\i_like_cheez %TEMP%
этот скрипт работает с папками с пробелом в имени
for /f «tokens=*» %%i in (‘dir /b /s /a:d «%~1″‘) do rd /S / Q «%%~i»
Зарегистрируйтесь или войдите в систему
Зарегистрируйтесь с помощью Google
Зарегистрироваться через Facebook
Зарегистрируйтесь, используя адрес электронной почты и пароль
Опубликовать как гость
Электронная почта
Требуется, но не отображается
Опубликовать как гость
Электронная почта
Требуется, но не отображается
Нажимая «Опубликовать свой ответ», вы соглашаетесь с нашими условиями обслуживания, политикой конфиденциальности и политикой использования файлов cookie
.
Как освободить место на диске из папки установщика Windows, не убивая Windows?
спросил
Изменено
19 дней назад
Просмотрено
975 тысяч раз
На моем компьютере с твердотельным накопителем папка C:\Windows\Installer
имеет большой размер и занимает около 15% всего дискового пространства.
Есть ли способ очистить эту папку, не убивая Windows 8.1/10? Прятать установщики в раздел ОС кажется расточительным.
- windows
- windows-10
- windows-8.1
- место на диске
- windows-installer
9
Я создал «PatchCleaner» для очистки каталога установщика Windows от всех потерянных файлов одним щелчком мыши. Если вы не уверены, что приложение сделает все правильно, используйте функцию перемещения, чтобы поместить их в безопасное место на случай, если они понадобятся вам в будущем. Я запускал его на нескольких машинах и сэкономил до 15 ГБ места 🙂
Запустите PatchCleaner после обновлений Windows, чтобы найти новые потерянные файлы.
Я рекомендую вам использовать действие «Переместить» и переместить потерянные исправления во внешнее хранилище, на всякий случай
PatchCleaner @ HomeDev
Известные проблемы (полная информация на веб-сайте)
- Adobe Reader может не обновиться после запуска PatchCleaner .
ПРИМЕЧАНИЕ. По состоянию на февраль 2016 г. вышла версия 1.4.1.0, в которой есть исправление, позволяющее использовать настраиваемые фильтры для исключения неправильного обнаружения Adobe Reader.
36
Кажется, это сработало для меня. Это упрощенный набор инструкций с http://www. kavoir.com/2012/07/how-to-free-up-c-drive-disk-space-in-windows-7-easy.html
- . Убедитесь, что на вашем компьютере не запущены никакие установки (вероятно, есть формальный способ сделать это, но я не уверен, как это сделать).
- Скопировать с помощью проводника Windows C:\Windows\Installer на другой диск, например, D:\C_DRIVE\Windows\Installer — примечание: Windows\Installer является системной папкой и поэтому невидима в Windows 8.1. Вы должны настроить свою учетную запись, чтобы сделать ее видимой, чтобы использовать Explorer для создания копии. Google поможет вам узнать, как это сделать.
- Сделайте резервную копию C:\Windows\Installer
Введите следующие команды в окне cmd.exe, работающем от имени администратора:
rmdir /s /q C:\Windows\Installer mklink /D C:\Windows\Installer D:\C_DRIVE\Windows\Installer
Windows может не позволить вам удалить каталог установщика, потому что какой-то процесс использует некоторые файлы в этом каталоге:
C:\Windows\Installer\{некоторые файлы}.
msi — процесс не может получить доступ к файлу, так как он используется другим процессом.
В этом случае вы можете использовать эту ссылку и использовать Process Explorer, чтобы найти и остановить процесс, который ограничивает команду rmdir.
Проверка
В качестве проверки я выполнил «восстановление» своей установки Microsoft Visio Professional 2013 (обработка заняла 4 минуты). Это завершено успешно. Обновление Windows (с перезагрузкой) также прошло успешно после внесения вышеуказанных изменений. Отпишусь, если что-то не получится.
16
Папку можно сжать. Вы вернете от 10 до 20% пространства.
- Включить «Показать системные файлы» в параметрах проводника
- Щелкните правой кнопкой мыши папку программы установки
- Свойства
- Нажмите Дополнительно
- В новом диалоговом окне выберите «Сжать».
- Нажмите OK
- Применить ко всем файлам и папкам
7
Иногда $patchcache$ занимает много места в папке Installer.
Вы можете проверить, насколько велика ваша папка «C:\Windows\Installer\$PatchCache$» (у меня было 6 ГБ через 1,5 года).
В основном это сводится к «Если у вас есть оригинальные установщики, то вы можете удалить их».
rmdir /q /s "C:\WINDOWS\Installer\$PatchCache$" (конечно, как администратор)
читайте об этом:
Можно ли удалить папку «C:\WINDOWS\Installer\$PatchCache$»?
MSDN:
http://blogs.msdn.com/b/heaths/archive/2007/01/17/the-patch-cache-and-freeing-space.aspx
3
Официального способа его убить нет. Вы можете использовать ссылку, чтобы переместить его на жесткий диск, если он у вас есть.
3
Как безопасно (*) очистить место на диске в Windows 10 (**)
(*) Считается безопасным, но без железной гарантии — следуйте инструкциям только на свой страх и риск.
(**) Ориентирован на Windows 10, но аналогичные действия могут применяться и к другим версиям Windows.
- Загрузите, установите и запустите PatchCleaner для удаления потерянных файлов.
- Запустите очистку диска (например, набрав «clean» на начальном экране Windows и выбрав «Освободить место на диске, удалив ненужные файлы»).
Выберите диск для очистки.
Нажмите «Очистить системные файлы» (и введите учетные данные, если требуется).
Выберите диск для очистки.
Выберите опцию очистки системных файлов. - Откройте свойства диспетчера конфигураций (например, введя «config» на начальном экране Windows и выбрав «Диспетчер конфигураций»).
Выберите вкладку Кэш.
Нажмите «Настроить параметры» (и введите учетные данные, если требуется).
Нажмите «Удалить файлы…».
Установите флажок «Удалить постоянное содержимое кэша» и нажмите «Да». - Загрузите, установите и запустите Treesize Free. Просканируйте соответствующий диск, а затем вручную удалите любые большие папки или файлы, которые можно удалить (применяя необходимые меры предосторожности).
- Откройте проводник и перейдите к временной папке Windows (например,
C:\Windows\Temp
).Выберите все файлы и папки, а затем выберите их полное удаление, нажав SHIFT + DEL (возможно, вам потребуется ввести учетные данные администратора). Затем выберите пропустить все файлы, которые нельзя удалить, поскольку они используются.
Вы можете попробовать соединение, скопировав файлы на новый диск, затем временно переименовав старую папку установщика, создав соединение из папки по умолчанию в новую. Затем немного проверьте, прежде чем удалять переименованную папку установщика. Возможно, установите более крупную и сложную программу, такую как Visual Studio или Adobe Photoshop, а затем удалите ее, чтобы убедиться, что все в порядке. Но имейте в виду, что если что-то пойдет не так, вы не сможете установить или переустановить программы. Был там, сделал это. 🙂
6
Лучшее решение — использовать утилиту Windows Installer CleanUp.
https://technet.microsoft.com/en-us/library/2008.