Назад | Перейти на главную страницу

Скопируйте несколько файлов из разных папок в 1 папку

Я ищу решение для копирования нескольких файлов из разных папок в 1 папку.

У меня есть то, что мне нужно скопировать файлы из

c: \ Customers \ folderA \ folderB \ files

скопировать в e: \ FolderB \ files

Проблема в том, что «Заказчики» всегда разные. Также FolderA отличается. Только FolderB такой же.

Я пробовал это с помощью robocopy или с копией. Но я всегда должен указывать имя клиента.

Кто-нибудь может мне помочь?

Итак, я попробовал это в PowerShell

и я пришел в

Copy-Item -Path C: \ customer -Recurse -filter * .xls -Destination e: \ folderB -Force

только с этим фильтром я скопировал файлы и все папки. И мне нужны только файлы.

Вы можете использовать FOR / D команда для прохождения каталоги в пути:

FOR /D %%I IN (C:\Customers\*) DO (
REM %%I is "C:\Customers\FolderA", etc.
    robocopy.exe /E "%%I\FolderB\files" "C:\FolderB\files"
)

Предположим, каталог C: \ Клиенты содержит:

  • A. Datum Corporation
  • Циклы AdventureWorks
  • Горнолыжный Дом
  • Потрясающие компьютеры
  • Болдуинский музей науки
  • Blue Yonder Airlines

Если мы запустим этот простой командный сценарий:

FOR /D %%I IN (C:\Customers\*) DO (
    ECHO %%I
)

Получаем такой вывод:

C:\Customers\A. Datum Corporation
C:\Customers\AdventureWorks Cycles
C:\Customers\Alpine Ski House
C:\Customers\Awesome Computers
C:\Customers\Baldwin Museum of Science
C:\Customers\Blue Yonder Airlines

Итак, сделав еще один шаг, следующий командный сценарий:

FOR /D %%I IN (C:\Customers\*) DO (
    robocopy.exe /E "%%I\FolderB\files" "C:\FolderB\files"
)

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

robocopy.exe /E "C:\Customers\A. Datum Corporation" "C:\FolderB\files"
robocopy.exe /E "C:\Customers\AdventureWorks Cycles" "C:\FolderB\files"
robocopy.exe /E "C:\Customers\Alpine Ski House" "C:\FolderB\files"
robocopy.exe /E "C:\Customers\Awesome Computers" "C:\FolderB\files"
robocopy.exe /E "C:\Customers\Baldwin Museum of Science" "C:\FolderB\files"
robocopy.exe /E "C:\Customers\Blue Yonder Airlines" "C:\FolderB\files"

Результат, конечно же, будет результатом каждой команды robocopy.