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

Копирование, перемещение и удаление файлов в PowerShell

• 5 min read • Windows • Обновлено 13 Dec 2025
Копирование, перемещение и удаление файлов в PowerShell
Копирование, перемещение и удаление файлов в PowerShell

Зачем использовать PowerShell для операций с файлами

PowerShell — это консольная оболочка и язык сценариев от Microsoft. Коротко: cmdlet — это команда в форме «Глагол-Объект» (например, Copy-Item). PowerShell удобен, если нужно автоматизировать задачи, выполнять операции над множеством файлов или управлять удалёнными компьютерами.

Важно: для большинства разовых действий удобнее File Explorer. PowerShell выгоден при пакетной обработке, скриптах и удалённом администрировании.

Окно PowerShell в Windows

Быстрые рекомендации перед началом

  • Запускайте PowerShell от имени администратора, если изменяете системные файлы. В меню «Пуск» введите “powershell”, щёлкните правой кнопкой и выберите «Запуск от имени администратора».
  • Перед любыми массовыми удалениями используйте ключ -WhatIf, чтобы увидеть, что сделает команда, но не выполнять изменения.
  • Для проверки содержимого папки используйте Get-ChildItem (alias dir или ls).

Запуск и навигация в каталоге

  1. Откройте меню «Пуск», введите powershell и нажмите Enter.
  2. Перейдите в нужную папку командой Set-Location (или cd):
Set-Location -Path "C:\Users\[Username]\Downloads"
# или
cd "C:\Users\[Username]\Downloads"

Проверьте содержимое папки:

Get-ChildItem
# или
dir

Как копировать файлы

Используйте cmdlet Copy-Item. Пример для одного файла:

Copy-Item -Path "text1.txt" -Destination "C:\DestinationFolder"

Если путь к файлу не в текущей директории, указывайте полный путь.

Проверка: выполните Get-ChildItem в папке назначения, чтобы убедиться, что файл скопирован.

Список файлов в PowerShell после копирования

Копирование папок и содержимого рекурсивно

Чтобы скопировать папку вместе со всеми вложенными файлами и подпапками, добавьте параметр -Recurse:

Copy-Item -Path ".\exampleFolder" -Destination "C:\DestinationFolder" -Recurse

Если нужно перезаписать файлы без запроса, используйте -Force. Для симуляции операции сначала добавьте -WhatIf.

Как перемещать файлы и папки

Для перемещения используйте Move-Item. Пример для одного файла:

Move-Item -Path "filename.txt" -Destination "C:\DestinationFolder"

Для нескольких файлов перечислите пути через запятую:

Move-Item -Path "file1.txt","file2.txt" -Destination "C:\DestinationFolder"

Для перемещения папки:

Move-Item -Path "FolderName" -Destination "C:\DestinationFolder"

Проверка: если файл исчез из исходной папки, он перемещён.

Процесс перемещения файлов в PowerShell

Совет: используйте -WhatIf перед массовыми перемещениями. Move-Item не имеет -Recurse, потому что перемещение папки обычно перемещает и её содержимое вместе с ней.

Как удалять файлы и папки

Удаление файлов:

Remove-Item -Path "filename.txt"
# несколько файлов
Remove-Item -Path "file1.txt","file2.txt","file3.txt"

Удаление папки с содержимым:

Remove-Item -Path "Folder" -Recurse

Чтобы принудительно удалить без подтверждения используйте -Force. Всегда сначала попробуйте с -WhatIf:

Remove-Item -Path "Folder" -Recurse -WhatIf

Помните: удалённые таким образом файлы минуют корзину. Будьте осторожны.

Как переименовать файл или папку

Переименование файла:

Rename-Item -Path "C:\path\to\oldfilename.txt" -NewName "newfilename.txt"

Переименование папки:

Rename-Item -Path "C:\Downloads\oldfoldername" -NewName "newfoldername"

Если новое имя уже существует, команда завершится с ошибкой — убедитесь, что конфликтов нет.

Частые задачи и примеры

  • Копирование по маске (все .txt):
Copy-Item -Path "*.txt" -Destination "C:\DestinationFolder" -Recurse
  • Удаление всех файлов с конкретным расширением:
Remove-Item -Path "C:\Temp\*.log" -Force
  • Переименование с использованием цикла (batch):
Get-ChildItem -Path "C:\Photos" -Filter "*.jpg" | ForEach-Object {
  $new = "IMG_" + $_.Name
  Rename-Item -Path $_.FullName -NewName $new
}

Проверка и отладка: полезные параметры

  • -WhatIf — симулирует действие без внесения изменений.
  • -Confirm — заставит запросить подтверждение перед действием.
  • -Force — принудительное действие (перезапись, удаление скрытых/системных файлов).
  • Get-ChildItem (dir) — чтобы увидеть файлы до и после операции.

Когда PowerShell не лучшая опция

  • Для копирования больших наборов данных по сети с сохранением прав доступа лучше использовать Robocopy.
  • Если нужна визуальная локализация и перетаскивание — File Explorer удобнее.
  • Для сложного резервного копирования с проверкой хешей используйте специализированные утилиты.

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

  • File Explorer (GUI) — простые операции.
  • Robocopy — надёжно при больших объёмах и сохранении ACL/атрибутов.
  • Xcopy — устаревшая, но иногда полезна для старых сценариев.

Модель мышления (heuristic)

  1. Сначала проверьте (Get-ChildItem).
  2. Протестируйте с -WhatIf.
  3. Выполните операцию с -Confirm/-Force по необходимости.
  4. Повторно проверьте результаты.

Шпаргалка команд (cheat sheet)

ОперацияКомандаКратко
Просмотр каталогаGet-ChildItem / dirПоказать файлы и папки
Копирование файлаCopy-Item -Path -Destination Копирует файл/папку
Копирование папки рекурсивноCopy-Item -Path -Destination -RecurseКопирует вложения
ПеремещениеMove-Item -Path -Destination Перемещает файлы/папки
Удаление файлаRemove-Item -Path Удаляет файл
Удаление папкиRemove-Item -Path -RecurseУдаляет папку и содержимое
ПереименованиеRename-Item -Path -NewName Переименовывает
Симуляция -WhatIfПоказывает, что произойдёт

Рольовые чек-листы

  • Администратор:
    • Запустить PowerShell от имени администратора.
    • Использовать -WhatIf для массовых изменений.
    • Логировать действия и проверять права доступа.
  • Power user:
    • Протестировать команды в тестовой папке.
    • Использовать скрипты для повторяемых задач.
  • Новичок:
    • Практиковаться на копиях файлов, а не на важных данных.
    • Начинать с Get-ChildItem и -WhatIf.

Частые ошибки и как их исправить

  • Проблема: “Access denied” — запустите PowerShell как администратор или проверьте права NTFS.
  • Проблема: файлы не копируются корректно — проверьте, не используются ли файлы другой программой.
  • Проблема: неправильные кавычки в пути — используйте прямые двойные кавычки “” и экранируйте обратные слэши.

Безопасность и приватность

  • Удалённые команды Remove-Item обычно не отправляют файлы в корзину. Убедитесь, что у вас есть резервные копии.
  • Для работы с личными данными соблюдайте внутренние правила хранения и удаления, а при необходимости — локальные требования по защите данных.

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

  • cmdlet — командлет PowerShell, небольшая команда.
  • Параметр -Recurse — рекурсивно применять команду к подпапкам.
  • Параметр -Force — принудительное выполнение (перезапись/удаление).
  • -WhatIf — симуляция действия без внесения изменений.

Когда использовать Robocopy вместо Copy-Item

Robocopy лучше при копировании больших объёмов, при необходимости сохранить права доступа (ACL), таймштампы, атрибуты и при повторных попытках при сетевых ошибках.

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

PowerShell даёт более гибкий и автоматизируемый подход к операциям с файлами по сравнению с GUI. Начинайте с проверки состояния, используйте -WhatIf и команды Get-ChildItem, а для больших/критичных миграций рассматривайте Robocopy.

Важно: всегда проверяйте команды на тестовых данных перед выполнением на боевых файлах.

Сводка команд: Copy-Item, Move-Item, Remove-Item, Rename-Item, Get-ChildItem — изучите их параметры (-Recurse, -Force, -WhatIf, -Confirm) и применяйте безопасные практики.

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

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

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро