Como simplesmente copiar uma pasta para outra mantendo a estrutura?

0

Suponha que eu tenha a seguinte estrutura e o diretório de trabalho atual seja root :

root
    - sub1
         file1.xml
         file2.xml
    - sub2
         file3.css
    - _target
         {is an empty folder}
    run.bat

Eu quero usar xcopy para copiar sub1 em _target mantendo a estrutura. Então o resultado é:

- _target
    - sub1
        file1.xml
        file2.xml

No entanto, quando tento adicionar parâmetros (ou seja, qualquer combinação de /I , /S , /E ) a xcopy , acabo sempre com isto:

- _target
    file1.xml
    file2.xml

Quais são os parâmetros corretos para alcançar o acima ( sub1 em _target com seu conteúdo)?

Eu tentei adicionar \ no final das pastas de origem e destino para imitar o comportamento mágico do unix cp , mas isso também não ajudou.

Por favor, note que estou procurando uma solução que não duplique desnecessariamente o nome da pasta nos argumentos ( isto é o que quero dizer com "simplesmente" no título ), Eu sei que xcopy sub1 _target\sub1 /I funciona!

Como último recurso , uma resposta robocopy pode ser aceitável, mas eu realmente prefiro xcopy sem duplicar o parâmetro.

    
por TWiStErRob 25.07.2015 / 23:53

1 resposta

0

O problema é que / S e / E contradizem um ao outro. Use / S (todos, exceto pastas vazias) ou use / E (todos, incluindo pastas vazias).

Aposto que você quer usar o / E, então seu xcopy seria:

xcopy sub1 _target\sub1 /I /E
    
por 26.07.2015 / 00:29