MOVE — перемещение файлов и переименование папок в CMD

MOVE — команда CMD для перемещения файлов и каталогов, а также переименования папок. Поддерживает маски, перемещение между дисками и подтверждение перезаписи.

Команда MOVE перемещает один или несколько файлов из одного расположения в другое, а также переименовывает каталоги прямо из командной строки. В отличие от COPY, после перемещения исходный объект удаляется из источника. Команда работает как на одном диске, так и между разными томами.

Синтаксис команды MOVE

MOVE [/Y | /-Y] [диск:][путь]источник [диск:][путь]назначение

Параметры:

  • [диск:][путь]источник — путь к перемещаемому файлу или маска (например, *.txt).
  • [диск:][путь]назначение — путь к папке-назначению или новое имя файла/папки.
  • /Y — подавить запрос подтверждения при перезаписи существующего файла.
  • /-Y — запрашивать подтверждение перед перезаписью (переопределяет /Y).

Ключи и параметры

Ключ Описание Пример
/Y Перезаписать существующий файл в назначении без запроса MOVE /Y C:\src\file.txt D:\dst\
/-Y Запросить подтверждение перед перезаписью (безопаснее) MOVE /-Y C:\src\*.txt D:\dst\
маска источника Перемещение нескольких файлов по шаблону MOVE C:\Logs\*.log D:\Archive\
путь назначения без имени Переместить файл в указанную папку с сохранением имени MOVE file.txt D:\Backup\
путь назначения с новым именем Переместить и одновременно переименовать файл MOVE old.txt D:\Archive\new.txt

Примеры использования

Перемещение одного файла на другой диск

Переместить файл из папки C:\Downloads на диск D:

MOVE C:\Downloads\report.xlsx D:\Documents\

Файл report.xlsx окажется в D:\Documents\, а из C:\Downloads исчезнет.

Перемещение с переименованием

Переместить файл и одновременно дать ему новое имя:

MOVE C:\Temp\log_old.txt D:\Archive\log_2024.txt

Файл будет перемещён в D:\Archive\ и переименован в log_2024.txt.

Перемещение по маске

Переместить все .log-файлы из папки C:\App\Logs в архив:

MOVE C:\App\Logs\*.log D:\LogArchive\

Все файлы с расширением .log будут перемещены; остальные файлы в папке останутся нетронутыми.

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

MOVE умеет переименовывать директории — это удобная альтернатива REN:

MOVE C:\Projects\old_name C:\Projects\new_name

Папка old_name будет переименована в new_name на том же уровне иерархии.

Перемещение без подтверждения перезаписи

В скриптах, где нежелателен интерактивный запрос, используйте ключ /Y:

MOVE /Y C:\Export\data.csv D:\Processed\data.csv

Если D:\Processed\data.csv уже существует, он будет молча перезаписан.

Перемещение нескольких папок через скрипт

В bat-скрипте последовательно перенести несколько директорий:

MOVE /Y C:\Backup\2022 D:\OldBackups\2022
MOVE /Y C:\Backup\2023 D:\OldBackups\2023

Оба каталога переместятся без запросов подтверждения.

Перемещение файла из текущей директории

Если вы уже находитесь в нужной папке, можно не указывать полный путь источника:

cd C:\Reports
MOVE summary.txt D:\Sent\

Файл summary.txt из текущей папки будет перемещён в D:\Sent\.

Частые ошибки и решения

Ошибка / поведение Причина Решение
Access is denied Файл заблокирован другим процессом или нет прав на запись в папку-назначение Закройте программу, использующую файл, или запустите CMD от имени администратора
The system cannot find the file specified Неверно указан путь источника или файл не существует Проверьте путь командой dir; убедитесь, что имя файла набрано без опечаток
The target file already exists и команда останавливается Файл с таким именем уже есть в папке-назначении Добавьте /Y для автоматической перезаписи или удалите файл назначения вручную
Маска *.txt перемещает только один файл Если у маски совпадает только один файл — нормальное поведение; если несколько — убедитесь, что папка-назначение существует, а не является именем файла Создайте папку назначения командой MKDIR перед выполнением MOVE
Папка не переименовывается, а перемещается внутрь другой Папка с именем-назначения уже существует Удалите или переименуйте существующую папку с нужным именем перед выполнением команды
Путь с пробелами вызывает ошибку CMD интерпретирует пробел как разделитель параметров Заключите пути в двойные кавычки: MOVE "C:\My Files\doc.txt" "D:\My Archive\"

Когда применять, а когда нет

MOVE — правильный выбор для перемещения файлов и переименования папок в скриптах автоматизации: она быстрее, чем связка COPY + DEL. Команда не поддерживает рекурсивное перемещение вложенных папок со всем содержимым — для этого используйте ROBOCOPY /MOVE. Кроме того, MOVE не умеет перемещать системные или заблокированные файлы — для этой задачи подойдёт MOVEFILE (отложенное перемещение при перезагрузке). Аналог в PowerShell: командлет Move-Item -Path источник -Destination назначение — он поддерживает подстановочные знаки и рекурсию через -Recurse.

FAQ

Можно ли переместить папку со всем содержимым командой MOVE?

Да, если перемещение происходит в пределах одного диска. При перемещении между дисками MOVE не переносит вложенные подпапки — используйте ROBOCOPY /MOVE /E источник назначение.

Чем MOVE отличается от COPY + DEL?

На одном диске MOVE работает значительно быстрее: она обновляет только записи файловой системы, не копируя физические данные. Связка COPY + DEL всегда копирует байты на диск, а потом удаляет оригинал.

Удаляет ли MOVE файл при перезаписи существующего?

Да. С ключом /Y файл в назначении будет перезаписан без предупреждения. Без ключа (/-Y) CMD спросит подтверждение. Удалённый файл в Корзину не попадает.

Как переместить файлы с пробелами в имени?

Заключите весь путь в двойные кавычки: MOVE "C:\My Folder\My File.txt" "D:\New Folder\".

Работает ли MOVE с сетевыми папками?

Да, при наличии прав на запись в обе папки. Однако перемещение с локального диска на сетевой будет работать как копирование + удаление, поскольку файлы физически переносятся между томами.

Оцените статью
( Пока оценок нет )
MW10
Добавить комментарий

Нажимая на кнопку "Отправить комментарий", я даю согласие на обработку персональных данных и принимаю политику конфиденциальности.