não pode excluir o caminho com um espaço (xcopy)

1

Estou tentando usar xcopy /exclude:exclude.txt e um dos caminhos em exclude.txt tem um espaço e não está funcionando. Existe alguma solução para isso?

    
por JoelFan 02.06.2011 / 18:52

3 respostas

4

Lendo as seções relevantes da ajuda do 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.

Podemos ver que a opção exclude não está funcionando em caminhos ou nomes de arquivos, mas sim em "filtros". Para ilustrar isso, tentarei dar um breve exemplo. Imagine este exclude.txt

Unicorns
Dolphins

Isso filtrará qualquer arquivo que tenha unicórnios ou golfinhos em qualquer lugar em seu nome. Por exemplo, o Dolphins.txt será filtrado, mas o Ponys.txt ficará bem.

Para voltar ao seu problema. A razão pela qual seu filtro não está correspondendo não é por causa do espaço no caminho. Por padrão, o xcopy só se preocupa com o nome do arquivo e não com o caminho completo; qualquer filtro que inclua um caminho completo não corresponderá e o arquivo será copiado.

Você pode alterar esse comportamento do xcopy fornecendo o sinalizador / f em seu comando. Isso deve resolver o problema que você está vendo.

    
por 02.06.2011 / 20:07
1

Edite exclude.txt e coloque aspas duplas em torno do caminho que contém um espaço.

    
por 02.06.2011 / 19:31
0

Uma coisa que fiz nessa situação é usar o "nome abreviado" (nome do estilo antigo do DOS 8.3). Você pode obter esse nome com dir /x . Todas as versões do Windows desde o Win 95 que permitiram nomes extensos de arquivos também permitiram este nome 8.3 alternativo para arquivos / diretórios.

    
por 02.06.2011 / 19:09