Eu tenho vários arquivos em uma caixa do Ubuntu, que têm vários caracteres nos nomes de arquivos que o Windows não aceita (principalmente ":" e "*", mas possivelmente outros).
Qual é a maneira mais simples de renomear tudo e mudar para uma máquina Windows? Não há problema em substituir esses caracteres por algo como "[dois-pontos]" e "[asterisco]".
linux
rename
batch-rename
RomanSt
fonte
fonte
*
).:
, o que é ruim o suficiente. Nomear documentos após o conteúdo é útil e, se o nome de um artigo terminar com uma pergunta, o nome do arquivo também deve ser.Respostas:
Dê uma olhada no Glindra renomear e desintoxicação .
Os utilitários de arquivo Glindra podem ser instalados no Windows ou Linux. Exemplos de limpeza de nomes de arquivos no Windows:
Mapeia traços (hífens) para sublinhados.
Recolhe espaços.
Mapeia caracteres problemáticos como * ?: [] "<> | () {} para sublinhar.
Executa as mesmas operações de limpeza que -safe e, além disso:
mapeia todos os caracteres de 8 bits da metade superior do alfabeto latino 1 para caracteres razoáveis de fallback de 7 bits.
Mapeia os caracteres de aspas simples '' to para sublinhar.
Fonte: Corrigindo nomes de arquivos Unix / Linux / POSIX: caracteres de controle (como nova linha), traços iniciais e outros problemas
fonte
G:\spc>rena.exe -safe -portable *.txt
saídas[FATAL-ERROR] Filename syntax error: aa:a.txt
rena '*.*' -portable
, e se você quiser recursiva, use algo comorena '***/*.*' -portable
no Linux. E eu acredito que a renomeação deve ser feita no Linux, não no Windows.Tente Recuva .
É o único utilitário do Windows que encontrei que lida com nomes de arquivos não compatíveis com o Windows.
Habilite a verificação de arquivos não excluídos (para recuperação de discos danificados ou reformatados) e verifique sua pasta. Na restauração, ative Restaurar estrutura da pasta . O Recuva efetivamente "copia" o diretório inteiro para outro local enquanto "santifica" os nomes de arquivos hostis.
fonte
Sem estar no Linux e sem testar nada, acredito que se poderia usar one-liners como os abaixo.
Para alterar um caractere:
E, finalmente, para remover todos os caracteres não alfanuméricos:
fonte
<>:"/\|?*
Se seus arquivos já estiverem em um volume NTFS, parece que a execução do chkdisk no Windows "resolve" o problema. Infelizmente, parece que o faz excluindo os arquivos incorretos.
fonte
Eu consegui com uma combinação das duas primeiras respostas, além de pyRenamer (GUI). No Linux, usei o pyRenamer para recolher espaços nos nomes de pastas (diretórios) - substituindo espaço por nada - para que os outros programas (renomeação Glindra) funcionem recursivamente (pode-se colocar sublinhados). Nos arquivos, também peguei alguns caracteres ou palavras aceitáveis pelo Windows para economizar espaço e, da mesma forma, reduzi os espaços nos nomes de arquivos. Em seguida, executei o rena para remover caracteres que não são do Windows, salvos em uma unidade flash e usei o Recuva para 'restaurar' uma pasta no Windows. Recuva indica se um caminho de arquivo é muito longo (e também remove caracteres que não são do Windows). Ainda não encontrei uma ferramenta que verifique o caminho dos nomes de arquivos para ver se eles estão abaixo do limite máximo de 255 do Windows (ou diga 240 para permitir uma margem de manobra).
fonte