(Assumindo o Windows) Eu atendi a requisitos semelhantes usando o PowerShell em combinação com uma tarefa agendada.
- Identifique o evento WMI que melhor se relaciona a uma unidade USB que está sendo conectada.
- Crie uma tarefa agendada que executará um arquivo de script do PowerShell quando o evento for disparado.
- Em seu script, verifique se o dispositivo está realmente conectado e recupere o caminho.
- Identifique os arquivos para upload.
- Carregue o arquivo usando a respectiva API de serviços.
Seria possível fornecer mais informações se sua pergunta declarasse seu sistema operacional, qual serviço de nuvem você pretende usar, quaisquer regras usadas para selecionar arquivos e como lidar com conflitos - mas, dada a natureza da pergunta que assumi você está apenas após uma abordagem geral para resolver o problema. Os seguintes recursos podem ajudar com detalhes.