Копировать файлы из разных папок

Существует какой-то способ, как копировать файлы из разных папок, когда я не знаю их имен?

Представьте, что у меня есть следующие папки и файлы

C:
  Build
    Tests
      DomainA.UnitTests
        bin
          domainA.dll
        src
          ...
      DomainA.IntegrationTests
        bin
          domainA.dll
        src
          ...
      DomainB.UnitTests
        bin
          domainB.dll
        src
          ...

Например, в Linux я могу написать команду, которая копирует файлы domainA.dll и domainB.dll:

cp -u Tests/*.UnitTests/bin/*.* Artifacts/Tests/UnitTests

и мне нужно написать команду / скрипт с таким же поведением в команде Windows.

Спасибо!

2 ответа

Решение

В командной строке я бы, наверное, использовал for Это то, как вы всегда делаете все, что нетривиально cmd:

for /d %d in (.\Tests\*.UnitTests) do (
    pushd %d\bin
    copy *.* ..\..\..\Artifacts\Tests\UnitTests
    popd
)

(Не забудьте использовать %%d в пакетном файле.)

Вы всегда можете использовать Robocopy, который поддерживает подстановочные знаки, парсинг подкаталогов и многопоточное копирование

Robocopy source destination /e /mt *.%FILETYPE%

MT работает только на Windows 7/2008 и выше

Другие вопросы по тегам