Como copiar um arquivo para todas as subpastas com nome específico?

Como copiar um arquivo para todas as subpastas com nome específico?

Tenho um arquivo chamado SRED.txt e uma pasta que contém centenas de subpastas. Em cada pasta há outra pasta chamada SRED onde este arquivo SRED.txt deve ser salvo. O que eu quero fazer é percorrer cada pasta e copiar o arquivo SRED.txt para a pasta SRED correspondente.

Como posso fazer isso com o Powershell?

Responder1

Obtenha os SREDdiretórios recursivamente e copie o arquivo para cada diretório.

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

Com o novo -Directoryparâmetro no PowerShell v3:

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

Responder2

Eu não acho que você precise de algo como PS para isso. Abra uma janela do prompt de comando e navegue (usando cd) até a pasta de nível superior (que contém todas as pastas do seu projeto). Certifique-se de que o arquivo SRED.txt esteja presente nesta pasta de nível superior. Agora execute o seguinte comando:

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

informação relacionada