Я попытался указать имя файла /EXCLUDE с пробелами в нем для xcopy , но оно всегда задыхается. Как я могу указать такой путь к xcopy не копируя файлы /EXCLUDE в текущий каталог и не используя старый хак для DOS ~1 ?
c:\Users\binki\Documents\repos\xcopy_exclude_spacey>dir source
Volume in drive C is OS
Volume Serial Number is 7C4E-86D4
Directory of c:\Users\binki\Documents\repos\xcopy_exclude_spacey\source
2013-01-03 16:39 <DIR> .
2013-01-03 16:39 <DIR> ..
2013-01-03 16:39 0 a
2013-01-03 16:39 0 a b c
2013-01-03 16:39 0 b
2013-01-03 16:39 0 c
4 File(s) 0 bytes
2 Dir(s) 117,279,027,200 bytes free
c:\Users\binki\Documents\repos\xcopy_exclude_spacey>type "various exclude rules\a"
a
c:\Users\binki\Documents\repos\xcopy_exclude_spacey>xcopy /E /EXCLUDE:"various exclude rules\a" source dest
Can't read file: "various exclude rules\a"
0 File(s) copied
c:\Users\binki\Documents\repos\xcopy_exclude_spacey>xcopy /E "/EXCLUDE:various exclude rules\a" source dest
Invalid number of parameters
Ни один из способов цитирования имени файла, который бы хорошо работал в приличной оболочке, не работает для меня с xcopy. По какой-то причине синтаксис "/EXCLUDE:<filename>" позволяет распознавать саму опцию. Другой синтаксис "/EXCLUDE:"<filename>" приводит к тому, что выводится сообщение Не удается Can't read file: "<filename>" , показывающее, что параметр анализируется правильно: двойные кавычки не позволяют аргументу разделяется на несколько частей. Тем не менее, это сообщение предполагает, что двойные кавычки не удаляются должным образом из имени файла с помощью xcopy, прежде чем он попытается открыть файл.
Отсюда следует, что если бы первый компонент пути, который я указал в /EXCLUDE начинался с " и мое имя файла /EXCLUDE оканчивается на " , я мог бы успешно ссылаться на этот файл из опции /EXCLUDE xcopy. Но Windows отказывается позволить мне поместить символ " моем имени.
Итак, как мне использовать xcopy в современном мире с пространственными именами файлов?
