Tehnografi.com - Технологические новости, обзоры и советы

Как удалить файлы, но сохранить папки Windows 10

Папки создавать несложно, но если у вас сложная структура каталогов, которая требует времени для создания (и правильного имени), вы, возможно, не захотите воссоздавать их без необходимости. Вы можете легко скопировать структуру папок и игнорировать содержащиеся в ней файлы, но если вы просто хотите удалить все файлы в папке, сохраняя сложную структуру папок, которую вы создали, вы тоже можете. Между двумя методами вы можете выбирать. Мы объясним, как вы можете удалить файлы, но сохранить папку с помощью простой команды PowerShell.

Удалите файл, но сохраните папку

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

Откройте PowerShell и выполните следующую команду. Замените «путь к папке» на полный путь к папке, в которой вы хотите удалить файл. Эта команда удалит все файлы в этой папке и все файлы в подпапке под ней. Действие удаления не отправляет файл в корзину, поэтому сначала сделайте резервную копию.

команда

Get-ChildItem -Path "path-to-folder" -Include *.* -File -Recurse | foreach { $_.Delete()}

пример

Get-ChildItem -Path "D:DesktopJan 13 - 17" -Include *.* -File -Recurse | foreach { $_.Delete()}

Эта команда также может быть изменена для определенных типов файлов. Чтобы сделать это, вы должны изменить следующее;

*.*

Замените вторую звездочку расширением для файла, на который вы хотите указать. Например, если вы хотите удалить все текстовые файлы в папке, вы будете использовать следующую команду.

Get-ChildItem -Path "path-to-folder" -Include *.txt -File -Recurse | foreach { $_.Delete()}

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

Get-ChildItem -Path "path-to-folder" -Include image.png -File -Recurse | foreach { $_.Delete()}

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