Вопрос

У меня есть пакетный файл для копирования файлов из Visual Studio в мою веб-папку. Я хочу скопировать все файлы в моем веб-проекте, кроме * .cs файлов. Я не могу получить это на работу:

xcopy /r /d /i /s /y /exclude:".cs" C:\dev\apan C:\web\apan

Какие-нибудь советы? Я просто получаю выходной код 4, когда я пытаюсь запустить это.

Это было полезно?

Решение

То /EXCLUDE: Аргумент ожидает файла, содержащий список исключенных файлов.

Так что создайте файл под названием excludedfileslist.txt содержащий:

.cs\

Тогда команда такая:

xcopy /r /d /i /s /y /exclude:excludedfileslist.txt C:\dev\apan C:\web\apan

В качестве альтернативы вы могли бы использовать Робокопия, но потребуется установка / копирование robocopy.exe к машинам.

Обновлять

Анонимный комментарий Редактировать, который просто заявил «Это решение исключить также файл CSS!»

Это правда, создавая excludedfileslist.txt Файл содержит только что:

.cs

(Обратите внимание на обратную косание на конце)

Также исключит все следующее:

  • file1.cs
  • file2.css
  • dir1.cs\file3.txt
  • dir2\anyfile.cs.something.txt

Иногда люди не читают или понимают помощь команды XCopy, вот предмет, который я хотел бы выделить:

Использование / исключение

  • Перечислите каждую строку в отдельной строке в каждом файле. Если какой-либо из перечисленных Строки соответствуют любой части абсолютного пути файла, который будет скопирован, то этот файл затем исключен из процесса копирования. Например, если вы укажете строку « 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 который может или не может быть неожиданным для вас.

Другие советы

В моем случае мне пришлось начать список расширений исключения со второй строки, потому что XCopy проигнорировал первую строку.

Изменить * .cs к .cs в исключенияхListlist.txt

Для исключения нескольких типов файлов вы можете использовать «+» для объединения других списков. Например:

xcopy /r /d /i /s /y /exclude:excludedfileslist1.txt+excludedfileslist2.txt C:\dev\apan C:\web\apan

Источник: http://www.tech-recipes.com/rx/2682/xcopy_command_using_the_exclude_flag/

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top