Exclua apenas alguns arquivos com o mesmo nome ao copiar usando o robocopy

15

Eu tenho uma estrutura de diretórios como esta:

folder1\
    help.txt
    folder2\
        help.txt
    folder3\
        help.txt
    ...

Eu quero copiar o conteúdo da pasta1 usando robocopy . Por exemplo:

robocopy folder1 destination /E

Eu quero excluir o arquivo help.text que está na pasta1, mas incluir os arquivos help.txt na pasta2, na pasta3 etc. Também pode haver arquivos nomeados como ajuda .txt em outro lugar na estrutura de diretórios, então eu não quero ter que codificar os caminhos para os arquivos para incluir.

Eu posso usar o seguinte comando para excluir todos os arquivos chamados help.txt, mas existe uma maneira de excluir apenas o arquivo help.txt na raiz da pasta1?

robocopy folder1 destination /E /XF help.txt
    
por Daniel Richardson 24.09.2009 / 17:01

3 respostas

15

Você deve incluir o caminho completo (incluindo a unidade) no arquivo a ser excluído. Caminhos relativos não funcionam.

Isso funciona:

robocopy folder1 destination /E /XF "c:\somedir\another dir\folder1\help.txt"

Isso não acontece:

robocopy folder1 destination /E /XF "folder1\help.txt"

Nem isso:

robocopy folder1 destination /E /XF ".\folder1\help.txt"
    
por 24.09.2009 / 17:57
0

Não vejo que haja alguma maneira de fazer isso por nome de arquivo. Você pode definir um atributo no arquivo que não deseja que copiado que "conhece" não está em nenhum outro arquivo na árvore de código-fonte e, em seguida, usar / xa para excluir arquivos com esse atributo.

Se isso não for feito, você precisará usar outra ferramenta.

Isso funcionará:

echo folder1\help.txt > \temp\excl.txt
xcopy /E folder1 destination /EXCLUDE:\temp\excl.txt

Na verdade, se você tivesse uma estrutura de diretórios com esta aparência:

folder1\
  help.txt
  folder1\
    help.txt

provavelmente excluiria esses dois arquivos.

    
por 24.09.2009 / 17:58
0

Você pode usar% CD% para fornecer o diretório atual. Isso deve ajudá-lo a excluir diretórios específicos. Mais ajuda está aqui:

link

    
por 14.12.2015 / 21:49

Tags