Para copiar o conteúdo de uma pasta para outro local basta utilizar o comando:
robocopy origem destino
Se quiser incluir as subpastas deve-se acrescentar a opção /s:
robocopy origem destino /sPode ser utilizado para se fazer mirror de uma pasta, ou seja, ter dentro dela o mesmo conteúdo de uma outra pasta. Para isso, utiliza-se a opção /mir
robocopy origem destino /mir
O robocopy pode também copiar apenas determinados tipos de arquivos.
Caso se queira copiar apenas os arquivos de música para um mp3 player, por exemplo:
robocopy origem destino *.mp3 /s
Lembrando que o ele só vai copiar os arquivos novos e os modificados, os arquivos que já existem na pasta de destino não serião copiados novamente.
Porém, pode-se também fazer o robocopy não copiar arquivos com determinados critérios.
Por exemplo, não copiar os arquivos extras (arquivos que não existem no destino):
robocopy origem destino *.mp3 /s /xx
Não copiar os arquivos mais novos e mais antigos (arquivos que foram modificado na origem ou destino):
robocopy origem destino *.mp3 /s /xn /xc /xo
Não copiar os arquivos maiores que 5MB (5242880 bytes), nem os menores que 5KB (5120 bytes):
robocopy origem destino *.mp3 /s /max:5242880 /min:5120
É possível também excluir da lista de arquivos a serem copiados determinadas pasta ou arquivos. Por exemplo, não copiar a pasta variados nem o arquivo audio1.mp3
robocopy origem destino *.mp3 /s /xd variados xf audio1.mp3
Uma das grandes vantagens do robocopy é a capacidade de continuar a transferência de um arquivo incompleto, para tanto basta adicionar a opção /Z. Porém em alguns casos não é possível usar o modo reiniciável, por isso há também um outro modo de cópia, o de backup (opção /B). É recomendavel é usar a opção /ZB para que o robocopy tente utilizar o modo reiniciável e, caso o acesso ao arquivo seja negado, usar o modo backup.
Apenar o robocopy não possuir uma opção de sincronização de mão-dupla (copiar modificações em ambos os sentidos), pode-se utiliza-lo para esse propósito. Basta executar dois comandos de cópia, utilizando as opções a seguir:
robocopy pasta1 pasta2 *.* /xc /xo
robocopy pasta2 pasta1 *.* /xc /xo
Porém deve se levar em consideração que neste caso o robocopy não copia arquivos que mudaram de tamanho mas não tiveram suas data de modificação atualizada.
Para facilitar o uso o robocopy ainda permite que a opções sejam salvas para que possam ser utilizadas posteriormente. Para salvar as opções de cópia utiliza-se a opção /save: seguido do nome do arquivo. Para utilizar as opções salvar utiliza-se a opção /job: seguido do nome do arquivo. Ex:
robocopy pasta1 pasta2 *.* /xc /xo /save:copia1
robocopy pasta2 pasta1 /job:copia1
Ao salvar as opções de cópia ele também salva o caminho das pastas que foram utilizadas. Portanto, se vc precisa usar o mesmo comando de cópia muitas vezes utlizando as mesmas opções e as mesmas pastas, basta salva-las e utilizar /nosd e /nodd para dizer ao programa que deve ser utilizado as pasta que foram salvas no arquivo. Ex:
robocopy pasta1 pasta2 *.* /xc /xo /save:copia1
robocopy /nosd /nodd /job:copia1
7 comentários:
eu sei que essa não é a área pra isso, mais eh que nao achei seu contato!
Ola Roldão Jr...
Eu sou akiilh anderson, tenho visitado algum foruns e o seu blog é muito bom, parabens voce explica muito bem!
E é por isso que vir recorrer a voce,
minha situaçaõ é a seguinte:
Tenho um thin client que quero dar bood em um xp(ou 7), como tenho acompanhado no seu blog, eu tenho instalado o TFTPd32.. efim segui os tutoriais:
Usando o Thinstation como cliente do Terminal Serve
Montando um servidor de boot PXE
Iniciando o DOS pela rede
cara, não deu certo, na bios do thin client tenho a opcao de boot com windows CE
ou metodo de boot padrao(coloco como network e desktop) no sistema de boot tenho:
tcp/ip - usando BOOTP ou DHCP na loca ou network
NETWARE- 802.2/ 802.3 ou ethII , local o network
RPL- network ou local
PXE - network ou local
no PXE ele reconhece o dhcp e tudo mais, só que aparece erro
pxe-e79: nbp is too big to fit in free base memory
o arquivo fdboot
e com as outras isos pxet01: file not found
pxe-e3b tftp error file not found
Espero que não esteja incomodando, espero sua resposta atenciosamente
akiilh@hotmail.com
Roldão,
Qual a opção para copiar somente os arquivos novos (criados ou modificados)?
Ele já faz isso sem que seja necessário passar nenhuma opção.
bom dia, muito bom o artigo, mas como faço para copiar somente arquivos criados no dia ou dia anterior?
Você pode usar os parametros /maxage e /minage para determinar valores máximos e minimos em dias.
/maxage:n não copiar arquivos mais antigos que n dias
/minage:n não copiar arquivos mais novos que n dias.
Apesar de antigo, este post auxilia até hoje e foi o que me ajudou a resolver meu problema de sincronização entre duas máquinas.
Então, contribuindo, o comando sem parâmetros, copia arquivos diferentes, e não apenas os mais novos como dá a entender. Por exemplo, se você fizer uma cópia, alterar o arquivo no destino, e fizer nova cópia, ele vai apagar o que fez e reescrever com a cópia antiga da origem.
Para isto não acontecer e ele manter intactos os arquivos mais novos que foram modificados no destino, use /xo
Ele copia os arquivos novos e modificados. Para realizar essa verificação ele se utiliza da data de modificação do arquivo. Valeu pela dica dessa parâmetro.
Postar um comentário