O que este guia faz

Envie uma planilha local para uma sessão RDP e recupere uma cópia sem alterações. Confira o estado da transferência e o SHA-256; depois use o mesmo fluxo para trazer resultados salvos por um aplicativo remoto. Os passos se baseiam na interface do rdp-cli 0.1.0 e no fluxo de arquivos verificado em 21 de setembro de 2026. São instruções de reprodução, não uma nova execução de testes.

Prepare a sessão e o exemplo

Baixe a versão adequada ao seu computador e siga o guia rápido para se conectar a um servidor Windows RDP autorizado. Guarde data.session e substitua SESSION. O servidor precisa permitir redirecionamento de unidades, e quem chama o comando precisa ter permissão de arquivos. O VNC não oferece essa unidade de troca.

Cada sessão tem seu próprio diretório de troca. --path é relativo a esse diretório, não um caminho Windows arbitrário como C:\Users\.... O aplicativo remoto o acessa como uma unidade redirecionada. Operações de arquivo pela CLI não exigem visualizador nem controle do teclado e do mouse.

Salve a planilha de exemplo no diretório local atual como service-activity.xlsx: ela tem 4.489 bytes e 12 meses de dados fictícios de atendimento. Os exemplos usam rdp-cli no PATH. No Windows, execute na pasta do EXE e use .\rdp-cli.exe; no Linux, use o comando instalado ou ./rdp-cli-linux-x86_64 / ./rdp-cli-linux-arm64.

rdp-cli status --session SESSION
rdp-cli files list --session SESSION

Confira a conexão, os recursos negociados e a resposta da listagem. Se o acesso a arquivos estiver indisponível, corrija primeiro a política do servidor ou a autorização.

Envie e aguarde a conclusão

rdp-cli files upload --session SESSION --local ./service-activity.xlsx --path service-activity.xlsx

Um início aceito pode retornar data.state: queued e data.transfer_id. Guarde esse ID como TRANSFER_ID. Aceitação não significa conclusão.

rdp-cli files status --session SESSION --transfer-id TRANSFER_ID

Na resposta de estado, leia data.state, compare data.bytes_transferred com data.total_bytes e confira o hash do arquivo concluído em data.files[].sha256.

Repita a consulta até um estado final. Continue apenas com completed, os 4.489 bytes esperados e o hash verificado. O aplicativo remoto poderá então abrir a planilha na unidade redirecionada daquela sessão. Ver o nome do arquivo não basta para comprovar a transferência.

Baixe e confira os bytes recebidos

Não altere a planilha nesta primeira ida e volta:

rdp-cli files download --session SESSION --path service-activity.xlsx --local ./service-activity-returned.xlsx

O download retorna seu próprio data.transfer_id. Consulte files status com esse novo ID. Após completed, o resultado local será service-activity-returned.xlsx. No macOS, compare os dois arquivos:

shasum -a 256 ./service-activity.xlsx ./service-activity-returned.xlsx

No Linux:

sha256sum ./service-activity.xlsx ./service-activity-returned.xlsx

No Windows PowerShell:

Get-FileHash -Algorithm SHA256 .\service-activity.xlsx, .\service-activity-returned.xlsx

Os dois hashes devem ser 1869e5708fe8922a99ff3efee1c0d285df3dd94588d59f5ad48f282db915df51. Se você editou a planilha remotamente, não espere mais igualdade com a original. Salve o resultado na unidade de troca, baixe esse caminho e confira o conteúdo produzido.

Transfira uma pasta inteira

Prepare uma pasta local chamada source-folder com os arquivos desejados:

rdp-cli files upload --session SESSION --local ./source-folder --path source-folder

Espere esse envio terminar antes de baixar:

rdp-cli files download --session SESSION --path source-folder --local ./received-folder

Consulte cada transferência separadamente. A estrutura e os diretórios vazios são preservados; ./received-folder é a raiz exata do destino. Uma transferência de diretório conclui cada arquivo individualmente. Um estado partial ou cancelamento pode deixar arquivos já concluídos; a árvore inteira não é uma única transação atômica.

Recupere sem repetir uma transferência incerta

  • O destino já existe: escolha outro caminho ou acrescente --overwrite somente se quiser substituí-lo. Sobrescrever não é o padrão.
  • FILE_BUSY: aguarde o aplicativo remoto terminar de salvar ou exportar e examine o arquivo e o estado antes de tentar de novo.
  • A resposta inicial se perdeu: consulte rdp-cli files status --session SESSION para examinar transferências conhecidas. Não repita imediatamente um envio ou substituição com resultado desconhecido.
  • failed, partial ou cancelled: examine o resultado de cada arquivo e a causa. Arquivos concluídos podem permanecer. Desconexão ou perda da permissão de arquivos pode parar a transferência; uma nova conexão não a retoma automaticamente.
  • Caminho inválido: use caminhos relativos à troca separados por /. Caminhos absolutos, .., links inseguros e nomes conflitantes são recusados.

Para parar uma transferência conhecida, use seu ID real e verifique o estado depois:

rdp-cli files cancel --session SESSION --transfer-id TRANSFER_ID

Pausar a entrada da área de trabalho não cancela transferências. completed comprova a cópia de bytes, não que o aplicativo criou o relatório correto.

Continue com um resultado remoto verificado

O caso do LibreOffice Calc usa o mesmo ciclo envio → edição remota → download. Ele inclui o relatório realmente salvo, a captura original, as fórmulas e os totais conferidos. Consulte os recursos de arquivos e os limites dos protocolos antes de usar o fluxo em outro ambiente.