Список исключений XCOPY игнорируется после первого исключения

У меня есть командный файл, который я создал, который использует xcopy для копирования каталога и дочерних каталогов и объединяет их в один файл. (т.е. все мои модульные таблицы стилей CSS для разработки объединены в одну рабочую таблицу стилей).

Все хорошо, за исключением того факта, что когда я ссылаюсь на excludelist.txt, он исключает только первую строку, а не последующие файлы, которые я хочу исключить.

Кто-нибудь представляет себе трещину в этом? Вы были бы очень полезны.

Вот код:

XCOPY C:\xampp\htdocs\PROJECT\css\*.* C:\temp /S /I /Y /EXCLUDE:C:\xampp\htdocs\PROJECT\exclude.txt

... а внутри моего exclude.txt ...

1.css
2.css
3.css
4.css
5.css

///// Я знаю, что код работает (до некоторой степени), потому что он фактически исключает файл 1.css, а не те, что ниже. Правильно ли я помещаю каждое исключение в новую строку?


person davebowker    schedule 01.06.2009    source источник
comment
Получилось ли у тебя что-нибудь в конце концов?   -  person Andy    schedule 05.06.2009
comment
Мне удалось заставить его делать то, что я хотел, хотя и не с помощью списка исключений. Я скопировал все, а затем запустил кучу команд del, чтобы удалить файлы, которые мне не нужны. rd также будет работать для всех, кто хочет удалить каталоги. например. 'del C: \ temp \ 1.css / q' Хотя это приемлемый обходной путь, было бы неплохо, если бы кто-нибудь мог его решить. Спасибо, Энди.   -  person davebowker    schedule 09.06.2009


Ответы (5)


Я использую следующее,

xcopy "C:\users\dad\*.*" dad /s /d <yesnoyesno /EXCLUDE:excluexclu 1>cop.txt 2>err.txt

где-то в сети я увидел примечание о том, что переключатель /Y нельзя использовать напрямую с файлом исключения.

Я хотел отметить здесь полезные файлы вывода 1 и 2, в которых подробно описаны проблемы, связанные с успехом и неудачей.

Моя показывает только успех.

person Dad    schedule 04.03.2012

Краткий ответ: создайте новый текстовый файл, введите записи и сохраните файл.

Более подробное объяснение: сегодня я столкнулся с этой проблемой на сервере Windows 2008. Я перепробовал все, что угодно, чтобы заставить его работать. Блокнот заставил сохранить файл как ANSI, Unicode и UTF-8, но у всех была одна и та же проблема. Наконец я начал думать о том, что я помещаю файл на сервер через FTP, и вполне вероятно, что FTP изменил формат файла. Я создал новый текстовый файл на сервере, ввел все те же записи в новый файл, и теперь он работает.

person Steve Hiner    schedule 23.11.2011
comment
У меня были пробелы в конце каждой строки, которая вызывала проблему. Используйте блокнот. убедитесь, что в файле нет конечных пробелов или чего-либо неожиданного. - person stu; 12.12.2013

У меня была похожая проблема. Я пытался исключить все файлы с определенным расширением в корневой папке и во всех подпапках, и это не сработало. Причина в том, что я помещал * .pdb вместо просто .pdb. Новая строка / возврат каретки была для меня отвлекающим маневром.

Итак, мой файл выглядел так:

.pdb .obj .vb .cs

person Rob Sedgwick    schedule 04.10.2012
comment
Это был ответ, который я искал, когда гуглил свой вопрос = D - person Alex Weitz; 31.07.2018

Кажется, вы правильно используете xcopy - каждый файл исключений (или совпадение в зависимости от подстановочных знаков) должен находиться в новой строке в файле. Пока мне не удалось воспроизвести поведение, которое вы испытываете.

Является ли список exclude.txt, который вы указали выше, тестовым файлом, или это настоящие имена css?
Каковы имена других файлов, которые должен копировать ваш командный файл?

Изменить:
То, что xcopy не может исключить другие файлы после одного совпадения, заставляет меня больше всего задуматься. Я думал, что это может быть связано с типом возврата каретки, который использовался в файле исключения, но xcopy отлично справляется с возвратом каретки в стиле Unix.

Можете ли вы еще раз убедиться, что используется правильный файл исключения?

person Andy    schedule 01.06.2009
comment
Привет, Энди, 1.css, 2.css и т. Д. - это просто имена файлов, чтобы проиллюстрировать проблему. Другие имена файлов, которые должна копировать пакет, - это все английские имена, без пробелов и специальных символов (кроме «-» (тире). Надеюсь, у вас есть немного больше информации. Я в тупике! - person davebowker; 01.06.2009
comment
Возможно, вы использовали U + 000A в качестве разделителя строк вместо U + 000A U + 000D? - person Joey; 01.06.2009
comment
Я просто нажал "Enter", чтобы перейти на новую строку. Ничего фантастического. - person davebowker; 01.06.2009

Попробуйте заставить его сохранить в кодировке ANSI в текстовом редакторе. У меня была аналогичная проблема, и это помогло.

person GettnDer    schedule 05.06.2013