Мне нужно скопировать папку A в папку B, а в папке A есть подпапки. Я пробовал xcopy и copy, оба зависли.
C:\Users>xcopy sushantg\A\* sushantg\B /s /e /h /T
Does sushantg\B specify a file name
or directory name on the target
(F = file, D = directory)?
Does sushantg\B specify a file name
or directory name on the target
(F = file, D = directory)?
решение1
Здесь у вас есть два основных варианта:
Первый вариант — добавить /i
параметр. Соответствующий текст вдокументациякак следует:
Если Source является каталогом или содержит подстановочные знаки, а Destination не существует, xcopy предполагает, что Destination указывает имя каталога, и создает новый каталог. Затем xcopy копирует все указанные файлы в новый каталог. По умолчанию xcopy предлагает указать, является ли Destination файлом или каталогом.
Другой вариант — указать, что местом назначения является каталог, завершив его обратной косой чертой, что приведёт к следующему коду:
xcopy sushantg\A\* sushantg\B\ /s /e /h /T
(Обратите внимание на обратную косую черту после B
)
На данный момент я не могу найти никакой соответствующей документации по этой опции, но я протестировал ее локально, и она решила проблему.
решение2
Пытаться:
echo f | Xcopy /f /y sushantg\A\* sushantg\B /E /H