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.
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:
| Componente | Avell C62 Liv (antigo) | Dell Aurora 16 (novo) |
|---|---|---|
| CPU | Intel Core i7 (8a/9a gen) | Intel Core Ultra 7 |
| RAM | 64 GB DDR4 | 32 GB DDR5 |
| GPU | RTX 2060 | RTX 5070 |
| Tipo | Notebook | Desktop |
| Conectividade | WiFi + Ethernet | WiFi 7 + Ethernet |
| Upgrade | Só RAM/SSD | RAM, 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
| Flag | O que faz |
|---|---|
\\Avell\c\Dev | origem: pasta Dev compartilhada no Avell |
C:\Dev | destino: pasta local na Aurora (a máquina onde o comando roda) |
/E | copia todas as subpastas, inclusive as vazias |
/XD | eXclude Directory: lista de pastas a ignorar |
/XF *.log | eXclude File: arquivos de log |
/MT:16 | 16 threads em paralelo |
/R:2 | 2 tentativas em caso de erro |
/W:1 | espera 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
robocopycom/XD node_modules .next .astro dist .wranglere/XF *.log- 16 threads, 2 tentativas
- Primeiro com
/Lpra simular, depois sem/Lpra 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.