преобразование xcopy в robocopy - PullRequest
1 голос
/ 18 января 2012

Пытался использовать xcopy, исключая папку и все ее подпапки.

C:\Merged\org\a>xcopy /I /E /Y C:\Merged\org\*.* C:\Merged\dest /exclude:"C:\Mer
ged\org\a\*.*"
Can't read file: "C:\Merged\org\a\*.*"

Я не могу исключить папку, а только файл с xcopy.

Так что я думаю о переходе на robocopy, но я не уверен, какие флаги использовать.

Какая эквивалентная робокопия моей вышеописанной ксерокопии?

Ответы [ 2 ]

2 голосов
/ 18 января 2012

Ну, вы можете. Читайте о XCOPY /?:

/ ИСКЛЮЧИТЬ: file1 [+ file2] [+ file3] ... Определяет список файлов, содержащих строки. Каждая строка должно быть в отдельной строке в файлах. Когда любой из строки соответствуют любой части абсолютного пути к файлу скопирован, этот файл будет исключен из копирования. За Например, указание строки типа \ obj \ или .obj исключит все файлы в каталоге obj или все файлы с расширение .obj соответственно.

Проблема в том, что вы указываете путь, который вы хотите исключить, в /EXCLUDE, когда вы должны указать имя файла, который содержит «пути» для исключения (на самом деле это более гибкий способ, см. Выше). В сообщении об ошибке вы даже намекаете на это.

Создать файл, например, C:\ignore.txt, которая содержит строку "C: \ Merged \ orga \ a \", затем вызовите XCOPY следующим образом:

xcopy.exe C:\Merged\org\*.* C:\Merged\dest /exclude:C:\ignore.txt /I /E /Y

Если вы все же хотите использовать robocopy, вы можете сделать так:

robocopy.exe c:\merged\org c:\merged\dest /xd c:\merged\org\a /IS /E
0 голосов
/ 21 августа 2017

Мне написаны безобидные оболочки от xcopy командной строки до robocopy.Вы можете найти его здесь: https://sf.net/p/contools.

Сценарии:

https://sf.net/p/contools/contools/HEAD/tree/trunk/Scripts/Tools/std/xcopy_dir.bat https://sf.net/p/contools/contools/HEAD/tree/trunk/Scripts/Tools/std/xcopy_file.bat

...