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

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

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

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.

Спасибо!


person Rudis    schedule 17.03.2015    source источник


Ответы (2)


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

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

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

person Bacon Bits    schedule 17.03.2015

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

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

МТ работает только на windows 7/2008 и выше

person Francis Sutherland    schedule 25.03.2015