Аргумент /EXCLUDE:
ожидает файл, содержащий список исключенных файлов.
Итак, создайте файл с именем excludedfileslist.txt
, содержащий:
.cs\
Затем такая команда:
xcopy /r /d /i /s /y /exclude:excludedfileslist.txt C:\dev\apan C:\web\apan
В качестве альтернативы вы можете использовать Robocopy, но для этого потребуется установить / копирование robocopy.exe
на машины.
Обновлять
Редактирование анонимного комментария, в котором просто говорилось: «Это решение также исключает файл css!»
Это верно при создании файла excludedfileslist.txt
, содержащего только:
.cs
(обратите внимание на отсутствие обратной косой черты в конце)
Также будет исключено все следующее:
file1.cs
file2.css
dir1.cs\file3.txt
dir2\anyfile.cs.something.txt
Иногда люди не читают или не понимают справку по команде XCOPY, вот что я хотел бы выделить:
Использование /exclude
- Перечислите каждую строку в отдельной строке в каждом файле. Если какая-либо из перечисленных строк совпадает с какой-либо частью абсолютного пути к файлу, который необходимо скопировать, этот файл исключается из процесса копирования. Например, если вы укажете строку «\Obj\», вы исключите все файлы в каталоге Obj. Если вы укажете строку «.obj», вы исключите все файлы с расширением .obj.
Как указано в примере, он исключает «все файлы с расширением .obj», но не указывает, что он также исключает файлы или каталоги с именами file1.obj.tmp
или dir.obj.output\example2.txt
.
Существует также способ исключения файлов .css
, измените файл excludedfileslist.txt
, чтобы он содержал только:
.cs\
(обратите внимание на обратную косую черту в конце).
Вот полная последовательность тестов для справки:
C:\test1>ver
Microsoft Windows [Version 6.1.7601]
C:\test1>md src
C:\test1>md dst
C:\test1>md src\dir1
C:\test1>md src\dir2.cs
C:\test1>echo "file contents" > src\file1.cs
C:\test1>echo "file contents" > src\file2.css
C:\test1>echo "file contents" > src\dir1\file3.txt
C:\test1>echo "file contents" > src\dir1\file4.cs.txt
C:\test1>echo "file contents" > src\dir2.cs\file5.txt
C:\test1>xcopy /r /i /s /y .\src .\dst
.\src\file1.cs
.\src\file2.css
.\src\dir1\file3.txt
.\src\dir1\file4.cs.txt
.\src\dir2.cs\file5.txt
5 File(s) copied
C:\test1>echo .cs > excludedfileslist.txt
C:\test1>xcopy /r /i /s /y /exclude:excludedfileslist.txt .\src .\dst
.\src\dir1\file3.txt
1 File(s) copied
C:\test1>echo .cs\ > excludedfileslist.txt
C:\test1>xcopy /r /i /s /y /exclude:excludedfileslist.txt .\src .\dst
.\src\file2.css
.\src\dir1\file3.txt
.\src\dir1\file4.cs.txt
3 File(s) copied
Этот тест был выполнен в командной строке Windows 7 и повторно протестирован в Windows 10 «10.0.14393».
Обратите внимание, что последний пример исключает .\src\dir2.cs\file5.txt
, что может быть для вас неожиданным, а может и нет.
person
Dean Taylor
schedule
23.11.2010