Как скопировать файлы внутри папки без других папок в пакетном режиме? - PullRequest
0 голосов
/ 31 декабря 2018

У меня следующая структура папок:

Folder1
  -Folder2
  -File1
  -File2
  -File3

Я попробовал следующее в пакетном скрипте, чтобы скопировать все внутри Папка1

echo d | xcopy "Folder1\*.*" "DestinationFolder"/f /s /y /r

НоМне нужно скопировать только Файл1, Файл2, Файл3 .Нужно игнорировать Папка2 .Я понятия не имею, как этого добиться.Пожалуйста, помогите мне решить эту проблему.

Ответы [ 2 ]

0 голосов
/ 31 декабря 2018

Нет необходимости использовать xcopy для копирования только файлов!xcpoy - это , обычно , используемый для копирования деревьев каталогов.

Итак, вместо этого используйте copy.Вы можете сделать:

copy "Folder1\*.*" "Destination\"

Возможно, вам понадобится использовать опцию /(-)Y:

/Y Подавляет запрос на подтверждение того, что вы хотите перезаписать существующий файл назначения.
/-Y Вызывает запрос подтверждения того, что вы хотите перезаписать существующий файл назначения.

С copy /? (copy страница справки)

0 голосов
/ 31 декабря 2018

Если папка 2 пуста, то подойдет /S,
, но поскольку в вашей команде /s, я думаю, она не пустая.

Так что используйте это:

echo \Folder2\>__tmp4Exclude__
echo d | xcopy "Folder1\*.*" "DestinationFolder" /f /s /y /r /EXCLUDE:__tmp4Exclude__
del __tmp4Exclude__

__tmp4Exclude__ - это временный файл, созданный для хранения списка файлов, которые необходимо исключить при копировании.

От xcopy /?:

  /EXCLUDE:file1[+file2][+file3]...
               Specifies a list of files containing strings.  Each string
               should be in a separate line in the files.  When any of the
               strings match any part of the absolute path of the file to be
               copied, that file will be excluded from being copied.  For
               example, specifying a string like \obj\ or .obj will exclude
               all files underneath the directory obj or all files with the
               .obj extension respectively.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...