У меня есть однострочный скрипт, который рекурсивно копирует все файлы ".ext1" из текущей папки в папку назначения:
xcopy *.ext1 D:\dest /s /d /y
Работает отлично.
Теперь я хочу скопировать все * .ext2. Вместо копирования (это прекрасно работает):
xcopy *.ext1 D:\dest /s /d /y
xcopy *.ext2 D:\dest /s /d /y
Я хочу использовать for
команды:
for %%f in (*.ext1 *.ext2) do xcopy %%f D:\dest /s /d /y
Но это не работает:
- Не копирует подкаталоги исходной папки
- Он не копирует файлы с именами с пробелами типа «read me.ext1»
Я пытался использовать клавишу /R
:
for /R %%f in (*.ext1 *.ext2) do xcopy %%f D:\dest /s /d /y
но это привело к копированию исходных файлов subdir в корневую папку dest. И имена с пробелами не пошли.
Что такое правильная форма for
команды будет?