Мне нужно скопировать полное дерево каталогов (также известное как рекурсивная копия) с файлами bat в Windows. В системах * nix я использую аргумент -R в команде копирования, например:
cp -R fromDir toDir
и это сделало свою работу. Я не нашел ничего подобного в окнах "man-страниц" копировать команда.
Спасибо!
Копирование не обрабатывает рекурсию. Вместо этого используйте robocopy. В Windows 2008 он уже есть и находится в Пути. В Windows 2000 и 2003 он есть в комплекте ресурсов. Вам понадобятся флаги / S / Z / ETA.
/ S рекурсия / Z перезапускаемый узел / ETA скажите мне, сколько времени займет текущий файл (необязательно)
Параметр / s в XCOPY обрабатывает подкаталоги (кроме пустых).
Я бы использовал Robocopy / E / COPYALL / MIR / ETA /LOG:FILE.log / TEE "SOURCE DIR" "DESTINATION DIR"
Пример: robocopy.exe / E / COPYALL / MIR / ETA /LOG:C:\copy.log / TEE "C: \ SourceDirectory \\" "C: \ DestinationDirectory \\"
/ E: копировать подкаталоги, в том числе пустые.
/ COPYALL: копирует все флаги безопасности и временные метки в файлы.
/ МИР: Сделаем точную копию источника. Поэтому, если вы скопируете его один раз, а затем скопируете еще раз, он будет обрабатывать удаление вместе с новыми файлами.
/ ETA: показать примерное время прибытия скопированных файлов.
/ Log: создает файл журнала.
/ TEE: вывод в окно консоли, а также в файл журнала.
Есть много разных вариантов robocopy, если вы сделаете /? для более продвинутого использования.
Вы также можете использовать версию с графическим интерфейсом: http://technet.microsoft.com/en-us/magazine/2006.11.utilityspotlight.aspx
Попробуйте использовать xcopy вместо копии.
Я предлагаю xcopy / mir [с] [по] если вы хотите сохранить разрешения.
cpx.exe из проект utx поддерживает рекурсивное копирование и рекурсивные подстановочные знаки для простого и эффективного выбора файлов для копирования.