it-swarm-pt.tech

Usando o xCopy para criar toda a estrutura de pastas, incluindo o nome da pasta raiz e todos os arquivos

Analisei algumas soluções para perguntas xCopy e tentei muitos métodos diferentes. (Vários curingas, caminhos que terminam em \, vários xcopy alternam em várias combinações.)

xCopy c:\Public  d:\MyNewDir\

Quando terminar, preciso que o destino inclua uma pasta chamada "Público" contendo todos os arquivos, pastas, subpastas, tudo.

O resultado deve parecer com:

d:\MyNewDir\Public\(and everything inside it)

Assim não:

d:\MyNewDir\(everything inside Public)

Isso parece tão simples. Em vez disso, nunca vejo uma pasta "Public" criada. Só cria tudo dentro de "Público" ... mas nunca "Público" em si. (Eu tenho muitas pastas para copiar, por isso não quero criar pastas individuais, manualmente.)

Existe uma solução para este problema simples usando apenas xCopy e Windows 7?

8
LindaBB

Preciso que o destino inclua uma pasta chamada "Público"

contendo todos os arquivos, pastas, subpastas, tudo.

Use o seguinte comando:

xcopy c:\Public\* d:\MyNewDir\Public /s /i
  • /s - Copiar pastas e subpastas

  • /i - Em caso de dúvida, assuma sempre que o destino é uma pasta, por exemplo quando o destino não existe.


Leitura adicional

6
DavidPostill

Primeiro, enumere a estrutura da pasta em um arquivo:

dir /ad /b /s C:\ > D:\windir.txt

2º, abra D:\windir.txt no Bloco de Notas e substitua todos os C:\ por null; salvar Arquivo

Terceiro, use o comando for para efetuar a recursão através de windir.txt para copiar a estrutura e os arquivos do diretório em cada diretório:

for /f "delims=;" %a in (D:\windir.txt) do xcopy "C:\%a" "D:\MyNewDir\%a" /c /i /g /h /k /o /x /j /b /y

Você pode adicionar /q se não quiser ver os diretórios e arquivos enquanto eles estão sendo copiados; Eu gosto do feedback positivo.

1
Mark E Rohrer