Я был тем, кто дал вам более ранний ответ, и вы думаете об этом неправильно. Флаг /f влияет не на то, как обрабатывается пробел, а на то, как обрабатываются пути.
Если вы запустите xcopy без флага /f, вы увидите, что он работает с файлами относительно рабочего каталога или заданных вами путей. Очевидно, это также используется внутренней логикой xcopy, поэтому при запуске по умолчанию он может фильтровать только те части пути, которые вы указали в команде копирования.
Когда вы добавите флаг /f, xcopy отобразит полный путь к файлу независимо от того, как вы вызвали копию. Поскольку это, похоже, влияет на внутреннюю логику, это также позволяет фильтровать по полному пути файла, а не только по относительным путям.
Это не объясняется в текущей документации по xcopy, что наводит на мысль, что это влияет только на отображение, а не на внутреннюю логику.
Вы можете проверить это для себя со следующим.
Создайте папку c:\unicorns и папку c:\ponys. В папке unicorns создайте три файла: test1.txt, test2.txt и exclude.txt. Отредактируйте файл exclude.txt и вставьте следующее
test1.txt
c:\unicorns\test2.txt
Перейдите в c:\unicorns и выполните команду
xcopy *.txt ..\ponys /exclude:exclude.txt
Вы увидите, что он копирует test2.txt и exclude.txt. Теперь добавьте флаг /f следующим образом.
xcopy /f *.txt ..\ponys /exclude:exclude.txt
Вы заметите, что на этот раз он копирует только exclude.txt.
В этом примере наш рабочий каталог был c:\unicorns, и поэтому отображаемые имена содержали только имена файлов.
Мы можем продолжить с этим и показать, что произойдет, если вы используете абсолютные пути. Используйте ту же настройку каталогов, что и раньше, и выполните команду
xcopy c:\unicorns\*.txt c:\ponys /exclude:c:\unicorns\exclude.txt
Теперь вы можете видеть, что единственный скопированный файл - это exclude.txt. Задавая абсолютные пути в команде, они используются во внутренней логике и могут быть отфильтрованы.
Если вы попробуете это с флагом /f, вы заметите, что они работают одинаково
xcopy /f c:\unicorns\*.txt c:\ponys /exclude:c:\unicorns\exclude.txt
Я надеюсь, что это дает четкое объяснение того, как это работает в настоящее время.