Я бы предложил этот метод.
For /D %G In ("C:\MyCave\iso\SDG\cmpdir\copy test\ab\cd\*") Do @For %H In ("%G\gh") Do @If "%~aH" GEq "d" Copy /Y "*.zip" "%~H" 1>NUL
Чтобы понять, что делает команда, откройте окно командной строки, введите for /?
, нажмите клавишу ENTER , и прочтите представленную информацию. Вы должны сделать то же самое, используя If /?
и Copy /?
также .
Первая часть, For /D %G In ("FilePath\*")
, вернется как %G
каталоги, расположенные в FilePath
. (каждый из них будет вашими динамическими / неизвестными именами каталогов) .
В следующей части используется еще один l oop для проверки каждого из этих неизвестных каталогов, с добавлением ваших известных имен каталогов. Это. Результаты этого l oop, , возвращенные как %H
, затем проверяются на наличие атрибута d
irectory, и если он истинен, команда копирования выполняется с его использованием.
Обратите внимание, что если существует несколько имен каталогов Dynami c, содержащих подкаталог с именем gh
, ваши файлы .zip
будут скопированы в каждый из них.