Existe uma ferramenta para verificar nomes de arquivos antes de gravar em discos?

Existe uma ferramenta para verificar nomes de arquivos antes de gravar em discos?

Existe um software que pode verificar nomes de arquivos em uma determinada pasta para que não haja nenhum erro ao tentar gravar esses arquivos em um DVD ou em qualquer mídia óptica?

Eu sempre gravo diferentes tipos de arquivos para minha coleção e muitas vezes recebo um erro de renomeação de arquivo ao usar o Nero. Esses arquivos ainda são gravados no disco mesmo se eu receber esses erros?

Existe uma ferramenta separada para o Nero ou outro aplicativo verificar os nomes dos arquivos antes de gravá-los no disco. É realmente uma pena quando um aplicativo informa que há um erro se você já gravou os arquivos no disco. Quero saber quais arquivos devem ser renomeados antes mesmo de gravá-los para não desperdiçar nada

Responder1

Você não menciona seu sistema operacional, então darei uma solução usando ferramentas POSIX, já que elas estão disponíveis para todos os principais sistemas operacionais. Eles estão disponíveis em todos os sistemas do tipo Unix, mas você deve instalá-los separadamente no Windows (Serviços da Microsoft para Unix,Cygwin,Utilitários GNU Win32,Msys, ...).

O findcomando¹ procura em um diretório e seus subdiretórios recursivamente por arquivos que correspondam a determinados critérios. Por exemplo, o comando a seguir mostra arquivos no diretório atual cujo nome contém um dos caracteres :, ;ou ", ou que têm mais de 64 caracteres.

find . -name '*[:;"]*' -o -name '?????????????????????????????????????????????????????????????????*'

¹ O POSIX. O Windows possui um comando não relacionado com o mesmo nome.

Responder2

Tentei executar o comando acima (o mais bonito;) mas não consegui) no Ubuntu 20.04 (hospedado pelo Win10 via WSL 2). Então proponho os seguintes comandos:

Para encontrar nomes de arquivos (excluindo caminho) maiores que 64:

find . -name '*[:;"]*' -o -regextype grep -regex '.*/[^/]\{64,\}'

Para encontrar nomes de arquivos (incluindo caminho) maiores que 64:

find . -name '*[:;"]*' -o -regextype grep -regex '\./.\{64,\}'

informação relacionada