Robocopy в CMD не копирует родительский каталог - PullRequest
0 голосов
/ 07 января 2019

Например

  • Я использую "robocopy / move / s / e"
  • чтобы вырезать C: / folder1 / folder2 / folder3 /
  • и вставьте в D: / library /
  • но я получаю только D: / library / folder4 / folder5 / folde6

Куда делась папка3?

edit 1 : предполагается, что в папке 3 уже существуют папка 4, папка 5 и папка 6.

edit 2 : вот что я пытаюсь ... robocopy / move / s / e "% 1" "D: \ library"

редактировать 3 : Регистрационный код

редактировать 4 : Ожидаемое контекстное меню в W10.

Ответы [ 2 ]

0 голосов
/ 08 января 2019

Основной синтаксис команды Robocopy:

robocopy каталог-источника каталог-назначения [ шаблон ...] [ параметры ]

Если шаблон не указан , по умолчанию используется шаблон *.*.

Квинент, вероятно, сказал что-то вроде

robocopy C:\folder1\folder2\folder3 D:\library  /move /s /e
         ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^  ^^^^^^^^^^^
             source directory       destination    options

Эта команда указывает RoboCopy переместить все (шаблон по умолчанию в *.*) файлы и каталоги, найденные в C:\folder1\folder2\folder3, на D:\library. Robocopy сделал это, как и ожидалось.

Чтобы переместить каталог folder3 из C:\folder1\folder2 в D:\library, введите команду

robocopy  C:\folder1\folder2\folder3  D:\library\folder3   /move /e
          ^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^   ^^^^^^^^
                source directory         destination        options

Robocopy создаст целевой каталог D:\library\folder3 при необходимости. Обратите внимание, что опция /e подразумевает /s.

Поскольку возникает вопрос о том, как это сделать в пакетном файле, и при условии, что %1 не заканчивается обратной косой чертой, я предлагаю заменить robocopy /move /s /e "%1" "D:\library" на

robocopy /move /s /e "%1" "D:\library\%~nx1"
0 голосов
/ 08 января 2019

Опция /MOVE удаляет исходную папку, в данном случае folder3 , после копирования в новое место назначения.

Я вижу, вы используете /s и /e. Я думаю, что вы можете упростить вашу команду и выбрать либо /s, который не будет копировать пустые каталоги, либо /e, который будет копировать пустые каталоги.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...