Как скопировать файл во все подпапки с определенным именем?

Как скопировать файл во все подпапки с определенным именем?

У меня есть файл SRED.txt и папка, содержащая сотни подпапок. В каждой папке есть еще одна папка SRED, где должен быть сохранен этот файл SRED.txt. Я хочу пройтись по каждой папке и скопировать файл SRED.txt в соответствующую папку SRED.

Как это сделать с помощью Powershell?

решение1

Получите SREDкаталоги рекурсивно, затем скопируйте файл для каждого каталога.

dir  c:\Projects SRED -Recurse|
    where {$_.PSIsContainer}|
    foreach { copy C:\Path\To\SRED.txt $_.FullName }

С новым -Directoryпараметром в PowerShell v3:

dir  c:\Projects SRED -Recurse -Directory|
    foreach { copy C:\Path\To\SRED.txt $_.FullName }

решение2

Я не думаю, что вам нужно что-то вроде PS для этого. Откройте окно командной строки и перейдите (используя cd) в папку верхнего уровня (содержащую все папки вашего проекта). Убедитесь, что файл SRED.txt присутствует в этой папке верхнего уровня. Теперь выполните следующую команду:

for /f "delims=" %d in ('dir SRED /ad /b /s') do @xcopy SRED.txt "%d"

Связанный контент