Скопируйте все файлы из всех папок Windows CMD

262
Nicolas Santisteban

У меня есть эта структура в Windows Server:

PARENT DIRECTORY ├───DIRECTORY1 │ ├───FILEA │ └───FILEB ├───DIRECTORY2 │ ├───FILEC │ └───FILED └───DEST_DIRECTORY 

Я хочу скопировать только все FILEиз всех DIRECTORYв другую папку на том же уровне PARENT DIRECTORY. Я пытаюсь использовать:

xcopy /s *\*.* ..\dest_directory 

Но это говорит:

File not found - *.* 0 File(s) copied 

Когда я указываю папку, DIRECTORYона копирует нормально.

Любая помощь?

0
[for / d - цикл по каталогу - Windows CMD - SS64.com] (https://ss64.com/nt/for_d.html) DavidPostill 6 лет назад 3
в Windows есть команда `tree`, которую вы можете просто запустить и скопировать здесь структуру папок. Не нужно рисовать phuclv 6 лет назад 0
forfiles может на самом деле быть тем, что вы ищете, учитывая, что вы можете легко указать тип маски при ее прохождении через дерево каталогов. LPChip 6 лет назад 0
Вы упоминаете, что ваши файлы называются `FILEA`,` FILEB` (без точки для расширения), а затем вы хотите скопировать все файлы, называемые `*. *` (Имеющие точку для расширения). У ваших файлов есть расширение файла, другими словами, у ваших файлов есть точка в имени файла? Dominique 6 лет назад 0

2 ответа на вопрос

0
S.Leon

Попробуйте запустить следующую команду в powershell:

Get-ChildItem -Path. \ КАТАЛОГ РОДИТЕЛЕЙ -File -Recurse | Copy-Item -Destination. \ PARENT DIRECTORY

0
bcs78

Использование Powershell:

PS C:> Foreach($file in Get-ChildItem -Recurse -File .\) 

Используя классический способ:

C:\> FOR /F %F IN ('dir /a:-D /s /b') DO ( copy %F .\dest_directory\ )