DOS Commands - исключая файлы в папке, используя Robocopy - PullRequest
2 голосов
/ 04 января 2012

У меня есть папка, содержащая много других подпапок. Я пытаюсь написать командный файл, который скопирует некоторые папки в другое место на моем жестком диске. Я использую xcopy для этого. Структура папок показана ниже:

FolderB1
  FolderB2
  FolderB22
  File1.txt
  File2.txt
  File3.txt

У меня есть несколько .txt файлов внутри FolderB1, а также FolderB2 и FolderB22. Я хочу скопировать FolderB2 и FolderB22 и пропустить .txt файлы, содержащиеся в папке B1

Я пытался использовать /EXCLUDE: параметр команды xcopy, но он не может выполнить эту операцию. Это не работает, если я указываю исключение как \FolderB1\*.txt или что-то в этом роде.

Количество основных папок неизвестно. Это может быть что угодно. Также не существует шаблона исправления для имен файлов .txt. Этот вопрос тоже проверил, но не помогло.

Кроме того, я хочу избежать использования команды del, поскольку копирование всего и повторное удаление потребует времени.

Может ли это быть достигнуто с помощью Robocopy? Точно такой же вопрос ставится здесь . Любые указатели были бы полезны. Заранее спасибо.

1 Ответ

3 голосов
/ 04 января 2012

Чтобы уточнить, я полагаю, вы хотите исключить все .txt файлы в FolderB1, но не исключаете .txt, расположенную в другом месте.

Вы можете сделать это с помощью робокопии в два этапа. Сначала скопируйте все файлы, кроме .txt. И на втором шаге скопируйте только .txt файлов, но исключите FolderB1.

robocopy c:\source c:\destination /s /xf *.txt
robocopy c:\source c:\destination *.txt /s /xd c:\source\FolderB1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...