запустите robocopy bat, чтобы скопировать весь диск на другой диск

Я пытаюсь запустить простую резервную копию (зеркало) одного всего диска (d :) на другой диск (k :). Я создал файл .bat ('backup.bat'), определяющий источник (d :) и место назначения (k :), и поместил этот командный файл в папку на диске d (d: \ temp). Когда я дважды щелкаю пакетный файл, он определяет источник как d: \ temp, а не то, что я определил в пакетном файле; d :.

Вот текст в файле .bat:

@echo off
echo To begin backing up data:
pause
robocopy "D:" "K:" /L /v                 
echo.
pause
exit

И это то, что появляется, когда я дважды щелкаю по backup.bat.

введите описание изображения здесь

Как видите, источник определяется как d: \ temp. Здесь находится командный файл, но в командном файле я определил его как D :. Почему-то пункт назначения определен правильно.

Любые идеи?

-al

РЕДАКТИРОВАТЬ: если я добавлю '/' к исходному и конечному местоположению, см. Код ниже, я увижу еще более странное поведение (см. Снимок экрана). Теперь источником одновременно являются как определенный источник, так и место назначения, без назначения.

@echo off

echo To begin backing up data:
pause

robocopy "D:\" "K:\" /L /v


echo.            
pause
exit

введите описание изображения здесь

И, если я удалю "" из источника и назначения .... ЭТО РАБОТАЕТ!

@echo off

echo To begin backing up data:
pause

robocopy D:\ K:\ /L /v
echo.            
pause
exit

введите описание изображения здесь


person cherrytree    schedule 25.04.2014    source источник


Ответы (3)


с "D:" вы не указываете корневой каталог диска D (D:\), а вместо этого указываете текущий каталог D (D:\temp в вашем примере ).

Чтобы решить эту проблему, просто добавьте \ в исходную спецификацию (а также в спецификацию dest)

robocopy d:\ k:\ /L /v                 
person PA.    schedule 25.04.2014
comment
Я пробовал это, и получается что-то еще более странное. Смотрите мои правки выше. - person cherrytree; 26.04.2014
comment
@ PA. было правильно, мне нужно было не только добавить \, мне также нужно было удалить кавычки. Спасибо за помощь. - person cherrytree; 26.04.2014

Используйте параметр /E. Также проверьте другие необходимые / полезные параметры, такие как /copyall /ZB или /DCOPY:DAT через /?.

person Megachip    schedule 03.06.2015

Я обнаружил, что вам нужен пробел после последней косой черты, когда вы помещаете путь в кавычки для источника и / или назначения. Если у вас есть встроенные пробелы, вам нужны кавычки, поэтому вам нужен пробел после последней косой черты в пути, например «C: \», а не «c: \»

Не могу точно сказать, что там происходит с robocopy, но все мои сценарии резервного копирования учитывают это.

Удачи!

person thenobes    schedule 13.05.2020
comment
Fwiw, я вспомнил причину использования пробела после конечной косой черты в кавычках. Похоже, что если вы опустите пробел, robocopy не увидит, что есть путь, заканчивающийся косой чертой, и будет считать, что вы ввели имя файла. - person thenobes; 13.05.2020