2013-03-29 2 views
0

В настоящее время я создал следующий код, он отлично работает, чтобы скопировать содержимое в папку «C: \ metadata_home \ met_source \ metadata», но мне также нужно скопировать папку. Когда я использую синтаксис: скопируйте «C: \ metadata_home \ met_source \» «%% ~ ff», он выдает сообщение об ошибке «Система не может найти указанный файл».Скопировать FOLDER в несколько нескольких папок


Setlocal EnableDelayedExpansion 
cls 
set currentDirectory=%CD% 
FOR /D %%g IN ("C:\metadata_home\met_dest\*") DO (
    Pushd %CD%\%%g 
    FOR /D %%f IN ("C:\metadata_home\met_dest\*") DO (
     copy "C:\metadata_home\met_source\metadata\" "%%~ff" 
    ) 
Popd 
) 

пауза


Пожалуйста, помогите я стучал головой о стену на этом!

+0

Ну - я потерял! Что вы подразумеваете под «копией папки»? Вы пытаетесь скопировать целое поддерево? Если да, почему бы не использовать 'XCOPY'? Я бы рискнул предположить, что ваша синтаксическая ошибка связана с тем, что 'COPY' ищет« файловую маску », которую он ожидает после терминала' \ 'в первом параметре. Попробуйте добавить '*. *' После этого '\' (и я бы изменил 'copy' на' copy/b', если вы настаиваете на использовании 'copy', но' xcopy/ec: \ source' - это команда скопировать поддерево – Magoo

ответ

0

Попробуйте это:

xcopy /s C:\metadata_home\met_source\metadata C:\metadata_home\met_dest 
Смежные вопросы