Ответ на использование "/ I" работает, но с небольшим фокусом - в target вы должны заканчиваться символом \, чтобы сообщить xcopy, что цель - это каталог, а не файл!
Пример:
xcopy "$(TargetDir)$(TargetName).dll" "$(SolutionDir)_DropFolder" /F /R /Y /I
не работает и код возврата 2, но вот этот:
xcopy "$(TargetDir)$(TargetName).dll" "$(SolutionDir)_DropFolder\" /F /R /Y /I
Аргументы командной строки, использованные в моем примере:
/ F - отображает полные имена исходных и целевых файлов
/ R - это будет перезаписывать файлы только для чтения
/ Y - подавляет запрос на перезапись существующих файлов
/ I - Предполагается, что местом назначения является каталог (но должно заканчиваться на \)