Quando você migra arquivos para o SharePoint, nomes com caracteres não suportados ou caminhos muito longos causam falhas de upload e erros de sincronização. O SharePoint impõe regras de nomenclatura rígidas que diferem dos sistemas de arquivos do Windows. Este guia explica os caracteres específicos e os limites de comprimento que o SharePoint exige e como limpar os nomes dos arquivos antes da migração. Você aprenderá as regras exatas, um processo de renomeação passo a passo e armadilhas comuns a evitar.
Principais Conclusões: Limpeza de Nomes de Arquivos Antes da Migração
- Remova os caracteres # % & { } ~ \ : < > ? / | ” : Eles não são suportados em nomes de arquivos e pastas do SharePoint.
- Mantenha o caminho do arquivo abaixo de 400 caracteres: O SharePoint limita o comprimento total do caminho, incluindo o nome do arquivo, a 400 caracteres.
- Use um script PowerShell para verificar e renomear: Automatize a detecção de nomes inválidos e renomeie os arquivos antes da migração.
Regras e Limitações de Nomenclatura de Arquivos no SharePoint
O SharePoint Online e o SharePoint Server aplicam o mesmo conjunto de regras de nomenclatura para arquivos e pastas. Essas regras existem para garantir compatibilidade com URLs da web, indexação de pesquisa e o banco de dados SQL subjacente. Ao contrário do Windows, o SharePoint não permite certos caracteres porque eles entram em conflito com a codificação de URL ou o processamento no servidor.
Caracteres Não Suportados em Nomes de Arquivos e Pastas
O SharePoint não permite os seguintes caracteres em nenhum lugar do nome do arquivo ou da pasta:
- # (cerquilha)
- % (porcentagem)
- & (e comercial)
- * (asterisco)
- { } (chaves)
- ~ (til)
- \ (barra invertida)
- : (dois pontos)
- < > (colchetes angulares)
- ? (ponto de interrogação)
- / (barra)
- | (pipe)
- ” (aspas duplas)
Além disso, o SharePoint não permite que nomes de arquivos ou pastas comecem com um ponto (.) ou contenham um til (~) na segunda posição do caractere, que é reservada para nomes de arquivos curtos. Nomes que terminam com um ponto ou um espaço também são bloqueados.
Limite de Comprimento do Caminho
O SharePoint impõe um comprimento máximo de caminho de 400 caracteres. Isso inclui a URL do site, o nome da biblioteca, o caminho da pasta e o nome do arquivo, incluindo a extensão. Por exemplo, um arquivo armazenado em uma estrutura de pastas profundamente aninhada pode exceder esse limite, mesmo que o nome do arquivo em si seja curto. O sistema de arquivos do Windows suporta até 260 caracteres por padrão, então arquivos que funcionam localmente podem falhar após a migração.
Nomes Reservados
O SharePoint reserva certos nomes para uso do sistema. Você não pode usar os seguintes nomes para arquivos ou pastas: CON, PRN, AUX, NUL, COM1 a COM9, LPT1 a LPT9 e nomes com pontos ou espaços finais. O Windows também bloqueia esses nomes, mas uma migração de arquivos de uma fonte não Windows pode incluí-los.
Etapas para Limpar Nomes de Arquivos Antes da Migração
Use o processo a seguir para identificar e renomear arquivos que violam as regras de nomenclatura do SharePoint. Execute essas etapas no compartilhamento de arquivos de origem ou na pasta local antes de executar qualquer ferramenta de migração.
- Verifique a pasta de origem em busca de caracteres inválidos
Use um script PowerShell para listar todos os arquivos e pastas que contenham caracteres não suportados. Execute este comando no PowerShell:Get-ChildItem -Path "C:\PastaOrigem" -Recurse | Where-Object { $_.Name -match '[#%&{}\\:<>?/|"~]' } | Select-Object FullName. Isso gera todos os caminhos de arquivos e pastas que precisam ser renomeados. - Verifique violações de comprimento de caminho
Execute uma verificação separada para encontrar itens onde o caminho completo exceda 400 caracteres. Use:Get-ChildItem -Path "C:\PastaOrigem" -Recurse | Where-Object { $_.FullName.Length -gt 400 } | Select-Object FullName. Observe que o SharePoint conta a URL do site de destino e o nome da biblioteca como parte do caminho. Adicione 50 a 100 caracteres para considerar o prefixo da URL do site. - Renomeie arquivos e pastas usando um script
Crie um script PowerShell que substitua cada caractere inválido por um sublinhado ou o remova. Por exemplo, substitua # por _ e % por _. Não renomeie arquivos do sistema ou arquivos em uso. Teste o script em um pequeno conjunto de arquivos primeiro. Um comando de substituição de exemplo:$newName = $file.Name -replace '[#%&{}\\:<>?/|"~]', '_'. Em seguida, useRename-Item -Path $file.FullName -NewName $newName. - Encurte caminhos de pastas profundas
Para arquivos que excedem o limite de comprimento do caminho, reestruture a hierarquia de pastas. Mova arquivos de subpastas profundamente aninhadas para um nível superior. Como alternativa, encurte os nomes das pastas. Após a reestruturação, execute novamente a verificação de comprimento do caminho para confirmar que todos os caminhos estão abaixo de 400 caracteres. - Remova espaços e pontos finais
Use PowerShell para remover espaços e pontos finais de nomes de arquivos e pastas. O SharePoint bloqueia nomes que terminam com um espaço ou um ponto. Use:$newName = $file.Name.TrimEnd('. '). Em seguida, renomeie o item. - Verifique nomes reservados
Verifique se há arquivos ou pastas chamados CON, PRN, AUX, NUL, COM1 a COM9 ou LPT1 a LPT9. Renomeie qualquer correspondência. Use:$reserved = @('CON','PRN','AUX','NUL','COM1','COM2','COM3','COM4','COM5','COM6','COM7','COM8','COM9','LPT1','LPT2','LPT3','LPT4','LPT5','LPT6','LPT7','LPT8','LPT9'). Em seguida, compare cada nome de arquivo sem extensão com esta lista. - Execute uma validação final
Após todas as renomeações, execute novamente os scripts de verificação para confirmar zero violações. Documente as alterações em um arquivo de log para fins de auditoria. Em seguida, prossiga com a ferramenta de migração do SharePoint de sua escolha.
Problemas Comuns ao Limpar Nomes de Arquivos
Nomes de arquivos começam com ponto ou til
Arquivos que começam com um ponto são ocultos no Windows e geralmente são arquivos de configuração. O SharePoint os bloqueia. Renomeie o arquivo para remover o ponto inicial. Por exemplo, .htaccess torna-se htaccess.txt. Arquivos com um til na segunda posição, como ~$temp.docx, são arquivos temporários do Office. Exclua-os se não forem necessários.
Comprimento do caminho ainda excede 400 caracteres após o encurtamento
Se a estrutura de pastas for muito profunda, considere criar uma estrutura de biblioteca plana no SharePoint. Use colunas de metadados e visualizações em vez de pastas aninhadas. Isso reduz o comprimento do caminho e melhora o desempenho da pesquisa. Para pastas profundas existentes, mova os arquivos para uma nova biblioteca com um nome mais curto.
Arquivos renomeados quebram referências de aplicativos
Se outros aplicativos ou scripts referenciarem os nomes de arquivos originais, a renomeação causa links quebrados. Atualize todas as referências após a renomeação. Use uma ferramenta de localizar e substituir para atualizar os caminhos dos arquivos em arquivos de configuração, bancos de dados ou documentação. Como alternativa, mantenha uma tabela de mapeamento de nomes antigos e novos.
A ferramenta de migração relata nomes de arquivos duplicados
Após substituir caracteres inválidos, vários arquivos podem acabar com o mesmo nome. Por exemplo, arquivo#1.txt e arquivo%1.txt ambos se tornam arquivo_1.txt. Antes da migração, resolva duplicatas anexando um identificador exclusivo, como arquivo_1_001.txt e arquivo_1_002.txt. Verifique duplicatas após a renomeação: Get-ChildItem -Recurse | Group-Object Name | Where-Object { $_.Count -gt 1 }.
Limpeza Manual vs. Automatizada: Principais Diferenças
| Item | Limpeza Manual | Limpeza Automatizada |
|---|---|---|
| Tempo necessário | Horas a dias para pastas grandes | Minutos a horas |
| Taxa de erro | Alta devido a erro humano | Baixa quando o script é testado |
| Detecção de duplicatas | Difícil de identificar manualmente | Script sinaliza duplicatas instantaneamente |
| Trilha de auditoria | Nenhum log automático | Script pode gerar um log CSV |
| Custo | Gratuito, mas trabalhoso | Gratuito com PowerShell ou ferramentas de terceiros de baixo custo |
Para migrações envolvendo mais de 100 arquivos, a limpeza automatizada é fortemente recomendada. A limpeza manual é aceitável apenas para conjuntos muito pequenos de arquivos, onde você pode verificar cada nome individualmente.
Agora você tem um processo repetível para limpar nomes de arquivos antes da migração para o SharePoint. Execute as etapas de verificação e renomeação do PowerShell como um item de lista de verificação pré-migração. Após a migração, verifique se todos os arquivos foram carregados corretamente, verificando a biblioteca em busca de itens com erros. Para proteção avançada, configure o SharePoint para bloquear uploads de arquivos com nomes inválidos usando as configurações da biblioteca para validação de nomes de arquivos.