Другие языки программирования и технологии

Подскажите команду для перемещения файлов и папок с помощью батника!

Есть папка 1 и папка 2
Необходимо переместить все содержимое (файлы и папки) из папки 1 в папку 2
команда "MOVE C:\1 C:\2" перемещает папку 1 в папку 2
команда "MOVE C:\1\*.* C:\2" перемещает из папки 1 в папку 2 только файлы, а папки не перемещаются.
Что нужно добавить? Или может для перемещения содержимого одной папки в другую используется другая команда?
Антон Шуляков
Антон Шуляков
1 139
XCOPY /S/Q/Y C:\1\ C:\2\
это копировать всё из папки 1 в папку 2 со всеми подпапками и файлами и не требовать подтверждения
CD /D C:\1\ & RD /S/Q C:\1\
удалить всё из папки 1 и файлы и папки
БК
Булат Кожабаев
30 461
Лучший ответ
Антон Шуляков Спасибо за конкретный ответ.
XCOPY /S/Q/Y C:\1\ C:\2\ не получилось (ошибка: неверно указан путь) исправил на XCOPY /S/Q/Y C:\1 C:\2 и все получилось.
Ваш ответ будет лучшим.
Антон Шуляков Однако при выполнении этой команды RD /S/Q C:\1 удаление каталога 1 не происходит (Ошибка: процесс не может получить доступ к файлу так как этот файл занят другим процессом)
Антон Шуляков Все разобрался команде RD мешал процесс CD. Удалил CD, все получилось
Еще раз спасибо!
Используй копирование командой XCOPY с последующим стиранием исходных файлов командой DEL /S /Q.
Борис Зотов
Борис Зотов
32 266
xcopy майкрософт объявил устаревшей. Рекомендуется использовать robocopy

robocopy /?

командный процессор от мастдая тоже поддерживает конвейеризацию.
Копирование файлов и дерева папок.

XCOPY source [destination] [/A | /M] [/D[:date]] [/P] [/S [/E]] [/V] [/W]
[/C] [/Q] [/F] [/L] [/G] [/H] [/R] [/T]
[/K] [/N] [/O] [/X] [/Y] [/-Y] [/Z]
[/EXCLUDE:file1[+file2][+file3]...]

source Указывает файл для копирования.
destination Указывает размещение и имя новых файлов.
/A Копирует файлы только с атрибутом "Архивный",
при этом значение атрибута не изменяется.
/M Копирует файлы только с атрибутом "Архивный",
при этом атрибут "Архивный" отключается.
/D:m-d-y Копирует файлы, измененные либо в указанный день, либо после.
Если дата не указана, копируются только те файлы,
которые новее в исходной папке.
/EXCLUDE:file1[+file2][+file3]...
Указывает список файлов, содержащих строки. Каждая строка
должна находиться в отдельной линии в файлах. Если одна из
строк совпадает с любой частью абсолютного пути копируемого
файла, то такой файл копироваться не будет. Например,
указывание таких строк, как \\obj\\ или .obj, исключает
из копирования все файлы в папке obj и, соответственно, все
файлы с расширением .obj.
/P Запрашивает, прежде чем создать конечный файл.
/S Копирует все папки и подпапки, кроме пустых.
/E Копирует все папки и подпапки, включая пустые.
То же самое, что и /S /E. Можно использовать для изменения /T.
/V Проверяет каждый новый файл.
/W Запрашивает нажатие клавиши, прежде чем начать копирование.
/C Продолжает копирование, даже если произошла ошибка.
/I Если конечная папка не существует и копируется более одного
файла, подразумевается, что местом назначения должна быть папка.
/Q Не отображает имена файлов во время копирования.
/F Отображает имена исходных и конечных файлов во время копирования.

/L Отображает файлы, которые будут скопированы.
/G Разрешает копирование шифрованных файлов в конечную папку,
не поддерживающую шифрование.
/H Копирует скрытые и системные файлы.
/R Заменяет файлы, доступные только для чтения.
/T Создает структуру папок, но не копирует файлы. Не поддерживает
пустые папки и подпапки. Сочетание /T /E
поддерживает пустые папки и подпапки.
/U Копирует только файлы, которые уже существуют в конечной папке.
/K Копирует атрибуты. Простая команда Xcopy сбрасывает атрибут
"Только чтение".
/N Копирует с использованием сгенерированных коротких имен.
/O Копирует права владельца файлом и сведения таблицы управления
доступом (ACL).
/X Копирует параметры аудита файла (включает действие /O).
/Y Подавляет запрос на подтверждение перезаписи
существующего конечного файла.
/-Y Вызывает запрос на подтверждение перезаписи
существующего конечного файла.
/Z Копирует сетевые файлы с возобновлением.

Параметр /Y можно установить через переменную среды COPYCMD.
Параметр /-Y командной строки переопределяет такую установку.
A.
Akbar ...
424