Копировать файлы из разных папок
Существует какой-то способ, как копировать файлы из разных папок, когда я не знаю их имен?
Представьте, что у меня есть следующие папки и файлы
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 и выше