Папки создавать несложно, но если у вас сложная структура каталогов, которая требует времени для создания (и правильного имени), вы, возможно, не захотите воссоздавать их без необходимости. Вы можете легко скопировать структуру папок и игнорировать содержащиеся в ней файлы, но если вы просто хотите удалить все файлы в папке, сохраняя сложную структуру папок, которую вы создали, вы тоже можете. Между двумя методами вы можете выбирать. Мы объясним, как вы можете удалить файлы, но сохранить папку с помощью простой команды 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()}
Есть продвинутые утилиты удаления файлов, которые могут сделать это, но лучшие из них часто трудно решить. Эту команду легко выполнить, и вероятность ошибок значительно ниже, поскольку ничего не приводит к удалению папки.