Копировать копию текущей папки

Как бы вы перевели эту команду xcopy в Robocopy:

xcopy *.* "C:\DestinationFolder\"

Помня о том, что текущая папка, в которой выполняется команда, динамически изменяется (и, следовательно, исходная папка неизвестна заранее).

Спасибо.

Ответ 1

robocopy. "C:\Dest"

Обратите внимание, что вам не нужно указывать шаблон в robocopy, по умолчанию он копирует все, если вы не используете флаги /xf/xd для исключения определенных файлов.

Ответ 2

Robocopy поддерживает подстановочные знаки.

Ожидается > robocopy SOURCE DEST, но введите > robocopy *.txt c:\folderdest\, чтобы скопировать текущую папку. Если вы посмотрите на результат robocopy, он покажет "Files: *.txt" и "Source = c:\folderdest"

Итак, вы можете сделать > robocopy WILDCARD SOURCE DEST. Если вы хотите использовать папку CURRENT, вам нужно использовать . (как уже упоминалось здесь). Поэтому вы должны использовать > robocopy *.txt . c:\folderdest\.

Снимок экрана: http://i.stack.imgur.com/Xyxt4.png

Ответ 3

В качестве дополнения: Если robocopy запускается с консоли администратора, текущая папка "." укажет на Windows\system32.

Вы можете использовать следующие команды в верхней части командного файла, чтобы исправить это:

@setlocal enableextensions  
@cd /d "%~dp0"