Tem certeza de que os nomes dos arquivos são válidos no sistema de arquivos NTFS?
Você exige que os nomes dos arquivos permaneçam os mesmos?
Se não, você pode remover os caracteres "estranhos" para facilitar sua vida:
Existe uma ferramenta para isso, detox
.
Você pode verificar o que seria renomeado sem alterar os nomes dos arquivos primeiro:
$ detox -n somedir/*
E, na verdade, faça isso:
$ detox somedir/*
Outra abordagem é montar o sistema de arquivos NTFS de uma maneira que limpe ('sanitize') os próprios nomes dos arquivos.
Existe uma opção de montagem para ativar isso, windows_names
:
De man ntfs-3g
:
windows_names
This option prevents files, directories and extended attributes
to be created with a name not allowed by windows, either because
it contains some not allowed character (which are the nine
characters " * / : < > ? \ | and those whose code is less than
0x20) or because the last character is a space or a dot.
Existing such files can still be read (and renamed).