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
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.
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