Гид по технологиям

Удаление файлов и папок в PowerShell на Windows

5 min read Sysadmin Обновлено 28 Nov 2025
Удаление файлов и папок в PowerShell
Удаление файлов и папок в PowerShell

Быстрые ссылки

  • Как найти полный путь файла или папки
  • Как удалить конкретный файл через PowerShell
  • Как удалить конкретную папку через PowerShell
  • Как удалить все файлы в папке, оставив саму папку
  • Как удалить все файлы в папке и её подпапках
  • Как удалять файлы с помощью подстановочных символов

Краткое резюме

  • Для удаления файла или папки используйте cmdlet Remove-Item и указывайте полный путь: Remove-Item PATH
  • Чтобы удалить все файлы в папке и оставить папку: Remove-Item “PATH*.*”
  • Чтобы удалить файлы в папке и её подпапках: Remove-Item “PATH” -Recurse -Include .

PowerShell даёт гибкие инструменты для удаления объектов в Windows 10 и Windows 11. С его помощью можно удалять отдельные файлы, целые папки с содержимым, выборочные типы файлов и проводить симуляцию команд без фактического удаления.

Как найти полный путь файла или папки

Для большинства команд PowerShell нужен полный путь к объекту. Самый быстрый способ получить путь в проводнике Windows: откройте окно проводника и найдите нужный файл или папку. Затем удерживайте Shift, кликните правой кнопкой мыши по элементу и выберите “Копировать как путь”.

Контекстное меню проводника с выделенным пунктом «Копировать как путь».

Теперь путь скопирован в буфер обмена и его можно вставить в окно PowerShell через Ctrl+V.

Как удалить конкретный файл с помощью PowerShell

Откройте окно PowerShell и выполните команду:

Remove-Item PATH

Где PATH — полный путь к файлу. Пример для файла на рабочем столе:

Remove-Item "C:\Users\username\Desktop\Old-List.txt"

Команда Remove-Item для удаления файла в окне PowerShell.

Важно: по умолчанию Remove-Item незапрашивает подтверждение. Чтобы команда спросила подтверждение перед удалением, добавьте параметр -Confirm:

Remove-Item "C:\Users\username\Desktop\Old-List.txt" -Confirm

Для безопасной проверки перед реальным выполнением используйте -WhatIf — PowerShell покажет, что было бы сделано, но не выполнит изменения:

Remove-Item "C:\Users\username\Desktop\Old-List.txt" -WhatIf

Если удаляемые файлы являются скрытыми или системными, добавьте -Force:

Remove-Item "C:\path\to\file" -Force

Как удалить конкретную папку с помощью PowerShell

Удаление папки также выполняется через Remove-Item. По умолчанию удаление папки удалит её содержимое (файлы и подпапки).

Remove-Item PATH

Пример:

Remove-Item "C:\Users\username\Desktop\Old Files"

Команда Remove-Item для удаления папки в окне PowerShell.

Если вы хотите, чтобы удаление рекурсивно обходило вложенные папки, укажите -Recurse (особенно полезно для удаления больших деревьев):

Remove-Item "C:\Users\username\Desktop\Old Files" -Recurse -Confirm

-Confirm или -WhatIf помогут избежать случайных потерь данных.

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

Чтобы очистить папку, не удаляя её саму, укажите шаблон путей с подчёркиванием или с использованием маски:

Remove-Item "PATH\*.*"

Пример:

Remove-Item "C:\Users\username\Desktop\Your Files\*.*" -WhatIf

Команда Remove-Item для удаления всех файлов внутри папки.

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

Если вы хотите убрать только файлы (не подпапки), используйте Get-ChildItem с фильтром -File и затем передайте объекты в Remove-Item:

Get-ChildItem -Path "C:\path\to\folder" -File | Remove-Item -WhatIf

Как удалить все файлы из папки и её подпапок

Для рекурсивного удаления всех файлов из папки и всех её подпапок можно сочетать параметры -Recurse и -Include, либо использовать Get-ChildItem с передачей в Remove-Item. Пример с Remove-Item:

Remove-Item "PATH" -Recurse -Include *.*

Пример:

Remove-Item "C:\Users\username\Desktop\Downloads" -Recurse -Include *.* -WhatIf

Альтернативный безопасный вариант (удаляются только файлы, а не пустые папки):

Get-ChildItem -Path "C:\Users\username\Desktop\Downloads" -File -Recurse | Remove-Item -WhatIf

Команда Remove-Item для рекурсивного удаления элементов.

Как удалять файлы с подстановочными символами

PowerShell поддерживает шаблоны (wildcards). Замените PATH на путь к папке:

Удалить все JPG-файлы:

Remove-Item "PATH" -Include *.jpg

Удалить всё, кроме PDF-файлов:

Remove-Item "PATH" -Exclude *.pdf

Другой способ — через Get-ChildItem для точной фильтрации и комбинирования условий:

Get-ChildItem -Path "PATH" -Include *.jpg,*.png -Recurse -File | Remove-Item -WhatIf

Для удаления пустых папок используйте следующую цепочку команд (она находит каталоги с нулевым количеством элементов и удаляет их):

Get-ChildItem -Recurse PATH | where { $_.PSIsContainer -and @( $_ | Get-ChildItem ).Count -eq 0 } | Remove-Item

Рекомендации по безопасности и восстановлению

Важно:

  • Remove-Item не использует корзину — файлы удаляются напрямую. Перед удалением делайте резервную копию или используйте -WhatIf.
  • Для проверки используйте -WhatIf; для ручного подтверждения — -Confirm.
  • Чтобы удалить защищённые, скрытые и системные файлы, добавьте -Force.
  • При массовом удалении сначала протестируйте команду на копии набора данных.

Восстановление: если вы случайно удалили важные файлы командой Remove-Item, восстановить их из корзины не получится. Попытайтесь восстановить из резервной копии или используйте специальное ПО для восстановления файлов как можно быстрее, пока диск не был перезаписан.

Когда подход не работает — частые проблемы и решения

  1. Права доступа (AccessDenied): запустите PowerShell от имени администратора или измените права NTFS.
  2. Путь содержит пробелы: всегда берите путь в двойные кавычки.
  3. Команда не находит файлы: проверьте корректность пути и регистр расширений; используйте Get-ChildItem для отладки.
  4. Файлы заняты процессом: закройте процесс или используйте Restart-Manager/Handle, чтобы определить блокирующий процесс.

Альтернативные подходы

  • Использовать проводник Windows для простых удалений, когда нужна корзина.
  • Применять Get-ChildItem с дополнительными фильтрами, чтобы сначала отобрать объекты, затем удалить.
  • Для перемещения в корзину применять сторонние модули (например, PowerShell модуль, который реализует отправку в Recycle Bin) или использовать Shell.Application COM-объект.

Шпаргалка (cheat sheet)

  • Удалить файл: Remove-Item “C:\path\to\file.txt”
  • Удалить папку рекурсивно: Remove-Item “C:\path\to\folder” -Recurse
  • Удалить все файлы в папке: Remove-Item “C:\path\to\folder*.*”
  • Удалить файлы по расширению: Get-ChildItem -Path “C:\path” -Filter *.log -Recurse -File | Remove-Item
  • Смоделировать удаление: добавить -WhatIf
  • Запрос подтверждения: добавить -Confirm
  • Принудительно удалить скрытые/системные: добавить -Force

Критерии приёмки

  • Команда удаляет только те объекты, которые соответствуют заданной маске или пути.
  • Перед массовым удалением выполнен один из защитных шагов: резервная копия, -WhatIf или -Confirm.
  • Для автоматизированных скриптов предусмотрлена логика обработки ошибок и, при необходимости, откат (например, копирование в временное хранилище перед удалением).

Короткий глоссарий

  • cmdlet: встроенная команда PowerShell.
  • PATH: полный путь к файлу или папке.
  • -Recurse: параметр для рекурсивного обхода подпапок.
  • Wildcard: подстановочный символ, например * или ?.

Чеклист перед выполнением удаления (для администратора)

  • Проверить путь и пробелы, окружить кавычками.
  • Сделать резервную копию важных данных.
  • Выполнить команду с -WhatIf.
  • При необходимости запустить PowerShell от имени администратора.
  • Добавить логирование в скрипт для последующей проверки.

Заключение

PowerShell даёт строгий и гибкий набор инструментов для удаления файлов и папок. Используйте -WhatIf и -Confirm, тестируйте команды на небольших наборах данных и всегда держите резервные копии при выполнении массовых операций. При возникновении ошибок сначала проверьте права доступа, корректность пути и занятость файлов процессами.


Теперь, когда вы знаете основные команды и приёмы, File Explorer не помешает вам управлять файлами — PowerShell даёт тонкие инструменты для точечных и массовых операций удаления.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Unity Lights: циферблат Apple Watch для Black History Month
Apple Watch

Unity Lights: циферблат Apple Watch для Black History Month

Обновление видеодрайвера для Rainbow Six Siege
Windows

Обновление видеодрайвера для Rainbow Six Siege

Ограничение частоты запросов в ASP.NET Core
Backend

Ограничение частоты запросов в ASP.NET Core

Исправление лагов Android: TRIM и LagFix
Mobile

Исправление лагов Android: TRIM и LagFix

Семафоры в Bash: что это и как реализовать
Bash

Семафоры в Bash: что это и как реализовать

Что делать при перегреве PS5
Гайды

Что делать при перегреве PS5