Copia uma pasta usando a linha de comando?

2

Como uma pasta pode ser copiada usando o cmd.exe shell?

Usando o Explorer, isso é fácil de fazer. Clique com o botão direito do mouse na pasta a ser copiada, arraste-a para a pasta de destino e selecione "Copiar aqui".

Suponha que tenhamos esta estrutura de pastas:

src
  --a.txt
  --b.txt
dest
  --c.txt
  --d.txt

Como podemos obter esse resultado:

src
  --a.txt
  --b.txt
dest
  --c.txt
  --d.txt
    src
      --a.txt
      --b.txt

O comando copy src dest não faz isso - copia a.txt e b.txt em dest em vez da pasta src em si.

Nem funciona como xcopy /e src dest .

Existe um comando que faz isso usando ferramentas embutidas?

    
por Kevin Panko 18.02.2014 / 23:18

3 respostas

3

Tente isto:

xcopy /e src dest\src\

Você precisa dizer ao xcopy para criar um diretório sob o destino.

Se você realmente odeia digitar src duas vezes e tiver o rsync instalado, o seguinte fará o que você deseja:

rsync -a dir1 dir2/
    
por 18.02.2014 / 23:32
3

Use robocopy . Especificamente, com a sinalização / E.

robocopy /e src dest\src
    
por 19.02.2014 / 00:27
1

A pergunta está marcada com cmd.exe , mas o PowerShell está incluído como padrão desde o Windows 7

No PowerShell, isso pode ser feito facilmente como:

Copy-Item -Recurse src dest

ou mais curto, mas o mesmo:

cp -r src dest
    
por 19.02.2014 / 16:11