Como posso copiar arquivos de A para B, incluindo apenas arquivos que existem em B?

3

Estou no Windows 7 Professional e este é o meu cenário:

Folder "Asd" (C:\)              Folder "Asd" (D:\)
File 1                          File 1 
File 2                          File 3 
File 3                          File 4
File 4
File 5

Gostaria de selecionar a pasta em C: \ (sem selecionar cada arquivo, é claro) e copiá-la na mesma pasta em D :. Geralmente, ele copia todos os arquivos. Mas o que estou procurando é copiar apenas arquivos (de C :) que estão contidos na pasta d:.

Portanto, no meu caso, gostaria de substituir apenas o Arquivo 1, o Arquivo 3 e o Arquivo 4. O arquivo 2 e o arquivo 5 devem ser ignorados.

É possível?

    
por markzzz 06.02.2012 / 09:48

5 respostas

8

Quando você deseja copiar, o robocopy sempre tem a opção certa para fazer isso.
Aqui, você deseja que a /XL alterne para excluir Arquivos "solitários":

robocopy C:\ D:\ /S /XL

Isso funcionará com arquivos ou pastas.

    
por 06.02.2012 / 10:53
4

Tente usar o comando XCOPY : -

Sintaxe:

xcopy sourceDirectory DestinationDirectory /U /Y

 /U           Copies only files that already exist in destination.
 /Y           Suppresses prompting to confirm you want to overwrite an
              existing destination file.

Exemplo:

xcopy D:\Temp\test\*.* D:\Temp\test11 /U /Y

*.* - indica todos os arquivos neste diretório

Aqui, ele substitui os arquivos na pasta de destino pasta "D: \ Temp \ test11" com os arquivos da origem

    
por 06.02.2012 / 10:45
1

Um for-loop simples combinado com um dir /b deve funcionar. Algo parecido com isto:

FOR /F %X IN ('dir /b D:\Asd') DO copy "C:\Asd\%X" "D:\Asd\%X"

Se você estiver usando um arquivo de lote, substitua %X por %%X (algo a ver com a forma como o Windows processa as variáveis, é diferente da linha de comando).

    
por 06.02.2012 / 10:04
1

Verifique o Solucionando problemas do blog de problemas de TI para obter soluções para o Robocopy root, como o PST

net use n: \server\backup
echo %computername%
mkdir n:\%computername%
SET SourceDir= n:\%computername%
SET Log="n:\%computername%.log"
robocopy c:\ %SourceDir% *.doc* *.ppt* *.xls* *.pst* *.pdf /s /LOG:%Log%

The addition of * on either side of the office documents is to ensure that you copy all versions from Office-2k3 and above. I have also included the PST files.

    
por 06.12.2012 / 03:24
0

Para acompanhar os métodos robocopy e xcopy , aqui está a solução com TCC / LE da JP Software e < href="http://jpsoft.com./help/copy.htm"> copy :

copy /c c:\asd\ d:\asd\
    
por 06.02.2012 / 13:43