![Как скопировать файл во все подпапки с определенным именем?](https://rvso.com/image/1345294/%D0%9A%D0%B0%D0%BA%20%D1%81%D0%BA%D0%BE%D0%BF%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D1%82%D1%8C%20%D1%84%D0%B0%D0%B9%D0%BB%20%D0%B2%D0%BE%20%D0%B2%D1%81%D0%B5%20%D0%BF%D0%BE%D0%B4%D0%BF%D0%B0%D0%BF%D0%BA%D0%B8%20%D1%81%20%D0%BE%D0%BF%D1%80%D0%B5%D0%B4%D0%B5%D0%BB%D0%B5%D0%BD%D0%BD%D1%8B%D0%BC%20%D0%B8%D0%BC%D0%B5%D0%BD%D0%B5%D0%BC%3F.png)
У меня есть файл 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"