Ответ 1
Аргумент /EXCLUDE:
ожидает файл, содержащий список исключенных файлов.
Итак, создайте файл с именем excludedfileslist.txt
содержащий:
.cs\
Тогда команда как это:
xcopy /r /d /i /s /y /exclude:excludedfileslist.txt C:\dev\apan C:\web\apan
В качестве альтернативы вы можете использовать Robocopy, но для этого потребуется установить/скопировать robocopy.exe
на компьютеры.
Обновить
Редактирование анонимного комментария, в котором просто говорится: "Это решение исключает также файл CSS!"
Это правда, создавая файл "selectedfileslist.txt", содержащий только:
.cs
(обратите внимание, что на конце нет обратной косой черты)
Также будет исключено все следующее:
-
file1.cs
-
file2.css
-
dir1.cs\file3.txt
-
dir2\anyfile.cs.something.txt
Иногда люди не читают и не понимают справку по команде XCOPY, вот элемент, который я хотел бы выделить:
Использование/исключить
- Перечислите каждую строку в отдельной строке в каждом файле. Если какая-либо из перечисленных строк соответствует какой-либо части абсолютного пути копируемого файла, этот файл затем исключается из процесса копирования. Например, если вы укажете строку "\ Obj \", вы исключите все файлы из каталога Obj. Если вы укажете строку ".obj", вы исключите все файлы с расширением .obj.
Как file1.obj.tmp
пример, он исключает all files with the.obj extension
но не утверждает, что он также исключает файлы или каталоги с именем file1.obj.tmp
или dir.obj.output\example2.txt
.
Также существует способ исключить файлы .css
файл "excalfileslist.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
который может быть или не быть неожиданным для вас.