04/06/2026

Descobri o robocopy: como migrei projetos dev entre dois PCs filtrando o que não queria

Troquei de notebook pra desktop e precisava mover anos de projetos pela rede local sem arrastar node_modules, caches de build e logs. O robocopy resolve isso com uma linha.

Descobri o robocopy: como migrei projetos dev entre dois PCs filtrando o que não queria

Seis anos com o mesmo notebook é bastante tempo. O Avell C62 Liv com Core i7, 64 GB de RAM e RTX 2060 me serviu bem, mas chegou no limite do que eu precisava para continuar crescendo: projetos maiores, mais abas abertas, ambiente de desenvolvimento mais pesado. Decidiu: hora de trocar.

A troca foi para um desktop Dell Aurora 16 com Intel Core Ultra 7, RTX 5070 e 32 GB de RAM. Sim, menos RAM do que o notebook. A RAM DDR5 está absurdamente cara nesse momento e 32 GB ainda cobre tudo que faço no dia a dia. A GPU mais do que compensou.

A decisão mais óbvia seria voltar pra Apple. MacOS é melhor pra desenvolvimento e design, sem discussão. Mas tem dois problemas que me fizeram descartar desde o começo.

Primeiro: o custo. Hardware Apple não tem upgrade. Você compra a configuração final, paga de 30 a 40 mil para ter uma máquina que vai durar 5 a 7 anos sem precisar mexer, e reza pra sua necessidade não mudar durante esse período. Um desktop Windows de alto desempenho fica na metade do preço e ainda aceita upgrade de RAM, SSD e GPU quando o momento pedir.

Segundo: Fortnite. Jogo com minha esposa e meus filhos, e isso precisa de uma GPU de verdade e roda no Windows. Mas isso é assunto pra outro post.

O ponto onde esse post fica técnico é o seguinte: depois de montar tudo, você tem dois computadores ligados, 6 anos de projetos no notebook e nenhuma vontade de ficar copiando pasta por pasta. Precisava de um comando que puxasse tudo da máquina antiga pra nova pela rede local, sem trazer as pastas de build e node_modules que são só peso e milhares de arquivos.

A nova máquina

Dell Aurora 16, specs relevantes para design, desenvolvimento e um joguinho rs:

ComponenteAvell C62 Liv (antigo)Dell Aurora 16 (novo)
CPUIntel Core i7 (8a/9a gen)Intel Core Ultra 7
RAM64 GB DDR432 GB DDR5
GPURTX 2060RTX 5070
TipoNotebookDesktop
ConectividadeWiFi + EthernetWiFi 7 + Ethernet
UpgradeSó RAM/SSDRAM, CPU, MB, SSD e GPU

A diferença na GPU é enorme pra qualquer coisa com IA local, compilação com CUDA e obviamente jogos. A RAM menor é uma boa diferença nas vou testar no dia a dia ainda.

O problema da transferência

A pasta C:\Dev do notebook tinha vários projetos acumulados. O problema clássico de qualquer dev: a pasta node_modules de cada projeto pode ter centenas de megabytes. Copiar isso tudo pela rede seria lento, inútil e um desperdício de banda, porque você vai rodar pnpm install na máquina nova de qualquer forma.

Além do node_modules, tinha outras pastas de build e cache que não fazem sentido mover:

  • .next (build do Next.js)
  • .astro (cache do Astro)
  • .playwright-mcp (cache do Playwright)
  • dist (qualquer build de produção)
  • .vscode (configurações de editor, prefiro reconfigurar)
  • .wrangler (cache local do Cloudflare)

E arquivos de log (*.log) que só ocupam espaço.

Mesmo que 99% dos projetos estavam no Github, ainda sim teria algo não commitado ou algum arquivo de planejamento com Claude Code, ainda vou falar sobre isso em um post futuro.

A rede local como canal de transferência

O Aurora e o Avell estavam na mesma rede doméstica. O Avell conectado por cabo Ethernet ao roteador, o Aurora pelo WiFi 7.

Aqui tem um dado que me surpreendeu: o WiFi 7, mesmo com a porta fechada (roteador na sala, computador no escritório), bateu os mesmos 1 Gbps do cabo. Não é diferença de setup, é diferença de geração de tecnologia. WiFi 7 alcança velocidades que antes eram exclusivas do Ethernet gigabit, e na prática, na minha casa, a parede não fez diferença nenhuma na velocidade de transferência.

Então a lógica ficou simples: os dois na mesma rede, compartilhar a pasta de projetos do Avell, e puxar tudo pelo robocopy a partir da Aurora.

Configurando o compartilhamento de rede no Windows

Com os dois computadores na mesma rede, o primeiro passo é garantir que o Windows permite que eles se encontrem e troquem arquivos.

Nos dois computadores: Configurações → Rede e Internet → Configurações de compartilhamento avançadas → em "Redes privadas": ativar Descoberta de rede e Compartilhamento de arquivos e impressoras.

No Avell (a origem), compartilhe a pasta C:\Dev: botão direito → Propriedades → aba Compartilhamento → Compartilhar. Dê permissão de leitura pra todos ou configure o usuário específico.

Teste rápido na Aurora pra confirmar que as máquinas se enxergam:

ping Avell

Se responder, pode ir pro passo seguinte.

O comando robocopy

O robocopy já vem instalado no Windows, é robusto e tem filtro de pastas e arquivos nativo. Comando final que funcionou:

robocopy "\\Avell\c\Dev" "C:\Dev" /E /XD node_modules .next .astro .playwright-mcp dist .vscode .wrangler /XF *.log /MT:16 /R:2 /W:1
FlagO que faz
\\Avell\c\Devorigem: pasta Dev compartilhada no Avell
C:\Devdestino: pasta local na Aurora (a máquina onde o comando roda)
/Ecopia todas as subpastas, inclusive as vazias
/XDeXclude Directory: lista de pastas a ignorar
/XF *.logeXclude File: arquivos de log
/MT:1616 threads em paralelo
/R:22 tentativas em caso de erro
/W:1espera 1 segundo entre tentativas

Dois detalhes importantes que surgem na prática: o /XD aceita vários nomes separados por espaço, e *.log é arquivo (não pasta), então vai no /XF e não no /XD. Nomes de pasta sem espaço não precisam de aspas.

Antes de rodar de verdade, adicione /L no final para simular sem copiar nada. Útil pra confirmar que as exclusões estão certas antes de começar a transferência de verdade.

robocopy "\\Avell\c\Dev" "C:\Dev" /E /XD node_modules .next .astro .playwright-mcp dist .vscode .wrangler /XF *.log /MT:16 /R:2 /W:1 /L

Se o output da simulação estiver correto, remove o /L e roda.

Instalando o pnpm na máquina nova

Com os projetos copiados, a próxima coisa é instalar o gerenciador de pacotes. O pnpm tem algumas opções no Windows.

Se você já tem o Node instalado (versão 16.13 ou mais nova):

corepack enable pnpm
corepack prepare pnpm@latest --activate

Se quiser instalar o pnpm independente do Node:

Invoke-WebRequest https://get.pnpm.io/install.ps1 -UseBasicParsing | Invoke-Expression

Via npm, se preferir:

npm install -g pnpm

Pra confirmar:

pnpm --version

Com isso, é só entrar em cada projeto e rodar pnpm install para reconstruir o node_modules localmente. Ou mandar o Claude Code fazer esse trabalho repetitivo por você.

Resumo

Trocar de máquina depois de 6 anos tem uma parte de decisão e uma parte de trabalho braçal. A decisão foi desktop Windows em vez de Mac: custo menor, upgradeable, e a RTX 5070 faz sentido pro que preciso. A RAM ficou menor mas aceitável por enquanto, dado o preço da DDR5.

A transferência de arquivos ficou simples com o robocopy pela rede local:

  • Ambas as máquinas na mesma rede (Avell no cabo, Aurora no WiFi 7)
  • Compartilhamento de pasta habilitado no Windows, descoberta de rede ativa
  • robocopy com /XD node_modules .next .astro dist .wrangler e /XF *.log
  • 16 threads, 2 tentativas
  • Primeiro com /L pra simular, depois sem /L pra valer

Evite copiar tudo sem filtro. node_modules acumula gigabytes que você vai regenerar de qualquer forma com pnpm install. As pastas de build e cache também não precisam viajar.

#produtividade #ferramenta #automacao

Tags

Se eu te ajudei de alguma forma e você quiser retribuir, pode me pagar um café ☕ ou ainda usar um dos meus links de indicação para abrir conta em serviços como Asaas, Bunny, Clara, assinar conteúdos gratuitos ou usar serviços recomendados.

Você pode me encontrar no: Github, Behance, LinkedIn, YouTube, Instagram, X ou por email hello@marciotoledo.com!

© 2002 - 2026 | Marcio Toledo. Todos os direitos reservados. For LLMs