Подтвердить что ты не робот

Как я могу рекурсивно копировать файлы определенного шаблона в одну плоскую папку в Windows?

Мне нужно скопировать набор файлов DLL и PDB из набора рекурсивно в другую папку. Я не хочу воссоздавать иерархию папок в целевой папке. Я хочу использовать встроенные инструменты Windows, например. DOS.

4b9b3361

Ответ 1

mkdir targetDir
for /r %x in (*.dll, *pdb) do copy "%x" targetDir\

Используйте/Y в конце указанной выше команды, если вы копируете несколько файлов и не хотите отвечать "Да".

Ответ 2

команда XCOPY

Пример копирования папки рекурсивно:

mkdir DestFolder
xcopy SrcFolder DestFolder /E

(как указано ниже в комментарии после WIKI, эта команда была доступна с DOS 3.2)

Ответ 3

Убедитесь, что у вас есть правильные цитаты, если у вас есть пробелы в вашем пути.

Это мое событие postbuild для моего сервера сборки TFS (поэтому есть "%%" ). Мне нужно, чтобы все тестовые файлы были скопированы.

if not exist  "$(TargetDir)..\SingleFolderOutput" mkdir -p "$(TargetDir)..\SingleFolderOutput"

for /r **%%x** in (*.dll, *.pdb, *.xml, *.xaml, *.exe, *.exe.config) do xcopy **"%%x"** "$(TargetDir)..\SingleFolderOutput" /Y

Ответ 4

@echo off
if %1'==' goto usage
if %2'==' goto usage
if %3'==' goto usage
for /D %%F in (%1\*) do xcopy %%F\%2 %3 /D /Y
for /D %%F in (%1\*.) do call TreeCopy %%F %2 %3
goto end
:usage
@echo Usage: TreeCopy [Source folder] [Search pattern] [Destination folder]
@echo Example: TreeCopy C:\Project\UDI *.xsd C:\Project\UDI\SOA\Deploy\Metadata
:end

Ответ 5

Я не знаю о каких-либо инструментах командной строки, которые делают это напрямую, но вы можете создать пакетный пакет script для прокрутки подпапок и скопировать нужные вам файлы.

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