XCOPY / Excluir a sintaxe do diretório

4

Estou tentando usar XCOPY para copiar um diretório semelhante a este:

-MainFolder
 -ManyFoldersIWantToCopy
 -ManyFoldersIWantToCopy
 -...
 -Source Code

Eu quero usar a opção /EXCLUDE para copiar todas as pastas, exceto Source Code .

Eu tentei usar o seguinte, mas não tive sorte:

xcopy "Source" "Destination" /EXCLUDE:"\Source Code\" /E /C /R /I /K /Y

A mensagem de erro que recebo diz: Can't read file: "\Source Code\" .

Eu tentei remover as aspas duplas todas juntas, usando aspas simples com / sem o \ 's, mas recebo a mesma mensagem de erro.

Alguma idéia?

    
por Onion-Knight 22.04.2010 / 15:49

3 respostas

6
C:\>xcopy /?
...
  /EXCLUDE:file1[+file2][+file3]...
           Specifies a list of files containing strings.  Each string
           should be in a separate line in the files.  When any of the
           strings match any part of the absolute path of the file to be
           copied, that file will be excluded from being copied.  For
           example, specifying a string like \obj\ or .obj will exclude
           all files underneath the directory obj or all files with the
           .obj extension respectively.

Você precisa colocar "Source Code" em um arquivo e especificar esse arquivo na linha de comando.

    
por 22.04.2010 / 15:56
2

Acredito que esse erro precise de mais explicações. Eu encontrei esta postagem no blog no questão muito informativa.

Basicamente, você precisa usar o antigo 8.3 (nomes de arquivo curtos do DOS no caminho de exclusão). Você pode determinar os nomes abreviados executando o comando "DIR / X" em um prompt de comando depois de alterar o diretório para o pai da pasta (para o nome 8.3). É uma pena que o MS não tenha atualizado este comando para suportar nomes extensos de arquivos.

Eu sugeriria usar o robocopy se você não quiser usar nomes de caminho / arquivo curtos. É claro que você poderia colocar os nomes longos em um arquivo "excluded_files.txt" externo. Isso parece ser suportado pelo XCopy.

    
por 31.05.2013 / 17:57
0

Eu usei o sinalizador xcopy EXCLUDE com êxito sem colocar as linhas em aspas, mesmo que muitos dos caminhos continham espaços. Então, para mim (reparo do Win7 Home Premium SP1 instalar prompt do DOS) os retornos de carro eram de delimitação adequada. Acabei de usar um arquivo de texto simples no formato:

file 1.txt
path 2\file 2.text
and so on\and so forth.txt

EXCLUIR: F: \ nome do arquivo.txt como o sinalizador xcopy. Eu não incluí a letra da unidade nas linhas no arquivo de exclusão (como confirmado na página /? Só precisa de uma correspondência parcial). Ele pulou os arquivos nomeados muito rapidamente. Eu combinei isso com / D: 09-21-2014 para obter apenas arquivos recentes e um host de outras tags com sucesso.

Para confirmar, não usei os nomes curtos do DOS antigo, ao contrário da descoberta de Ken Richard acima.

    
por 24.09.2014 / 22:01