Como renomear automaticamente ficheiros no SharePoint em Power Automate
Este tutorial mostra como renomear automaticamente ficheiros numa biblioteca SharePoint usando Power Automate, útil para impor padrões de nomes, incluir data ou evitar duplicados. Aprender a automatizar o acto de renomear reduz erros manuais e garante consistência dos ficheiros.
Pré-requisitos
- Conta com acesso ao SharePoint e permissões de edição na biblioteca.
- Licença com acesso ao Power Automate (padrão suficiente).
- Ficheiros com metadados ou padrão que permitam construir o novo nome (ex.: coluna "Projecto" ou "Cliente").
Passo 1: Conceito e lógica do fluxo
Decida quando o fluxo corre: ao criar/atualizar um ficheiro ou por agenda. A lógica básica: disparador → obter propriedades do ficheiro → gerar novo nome → verificar se já existe um ficheiro com esse nome → renomear (mover) se for seguro. Evitamos sobrescrever usando verificação prévia e sufixos únicos quando necessário.
Passo 2: Criar o fluxo e escolher o disparador
Em Power Automate, crie um fluxo automatizado. Para actuar imediatamente quando um ficheiro é adicionado/alterado, escolha o disparador "When a file is created (properties only)" ou "When a file is created or modified (properties only)" do conector SharePoint.
Passo 3: Obter propriedades do ficheiro
Adicione a ação "Get file metadata" ou "Get file properties" (SharePoint) para ler campos como Path, File name, ID e colunas personalizadas. Esses valores vão alimentar o padrão do novo nome.
Passo 4: Construir o novo nome do ficheiro
Use a ação "Compose" para montar o novo nome. Exemplo de padrão: Projecto_Data_NomeOriginal.ext. Inclua a extensão original para manter o tipo de ficheiro.
// Exemplo de expressão para criar novo nome
concat(outputs('Get_file_properties')?['body/Projecto'], '_', formatDateTime(utcNow(),'yyyyMMdd'), '_', last(split(triggerOutputs()?['body/{Name}'], '/')))
Passo 5: Verificar existência de ficheiro com mesmo nome
Use a ação "Get files (properties only)" com o mesmo Site Address e Library, aplicando um filtro OData para verificar se já existe um ficheiro com o novo nome. Exemplo de filtro: FileLeafRef eq 'novoNome.ext'. Se o resultado contiver itens, devemos evitar sobrescrever.
// Exemplo de filtro OData (coloque o nome correcto com extensão)
FileLeafRef eq 'Projecto_20260920_Ficheiro.xlsx'
Passo 6: Lógica para evitar duplicados
Adicione uma condição: se a lista retornada pelo passo anterior estiver vazia, procede-se ao renomear; caso contrário, gera-se um sufixo único. Para sufixo, pode usar marcas temporais ou um contador.
// Exemplo de sufixo com timestamp
concat(outputs('Compose_NewName'), '_', formatDateTime(utcNow(),'HHmmss'))
Passo 7: Renomear o ficheiro (mover com novo nome)
O SharePoint não tem ação directa "rename file" em todos os conectores; usamos a ação "Move file" para mover o ficheiro para a mesma pasta com o novo File name. Configure Source Site Address, File to Move (ID) e Destination Site Address e Destination Folder com o novo File name.
// Exemplo de campos
Destination Folder: /Shared Documents/Folder
Destination File Name: @{outputs('Compose_FinalName')}
Passo 8: Tratar erros e concorrência
Adicione tratamento de erro simples: configure run after para capturar falhas e registar num log ou enviar notificação. Para evitar condições de corrida, active o controlo de versões na biblioteca ou use um bloqueio lógico (coluna de estado) que indique processamento em curso.
Verificar o resultado
Verifique na biblioteca SharePoint se os ficheiros foram renomeados conforme o padrão. No histórico do fluxo em Power Automate confirme que cada execução teve sucesso e que a ação "Move file" usou o nome final correcto. Teste cenários: ficheiro novo, ficheiro com nome igual (verificar sufixo) e ficheiro com metadados em falta.
Conclusão
Com este fluxo básico em Power Automate é possível impor padrões de nomes e evitar duplicados automaticamente na biblioteca SharePoint. Próximos passos: adaptar o padrão a colunas personalizadas, registar renomeações num log ou disparar notificações a uma equipa. Dica: comece com ficheiros de teste e active a versionação para reverter alterações, se necessário.