Las reglas de lo que es un nombre de archivo de Windows válido son extremadamente complejas, consulte aquí . Depende del sistema de archivos y, por ejemplo, también de dónde está montada la carpeta de Dropbox en Windows (ya que el nombre completo de la ruta en Windows no puede exceder un cierto número de caracteres). Y como OSX no sabe dónde montarás Dropbox en Windows, no puede garantizar que un archivo en particular funcione.
Ahora, hay una pregunta más sencilla sobre si podemos encontrar todos los archivos que contienen un carácter que es ilegal en los nombres de archivo de Windows, a saber, <>:"/\|?*
(según el mismo documento). Esto es bastante fácil usando la línea de comandos:
find . -name '*[<>:"/\|?*]*'
Ejecuta esto en el directorio de Dropbox (o reemplaza el .
con el directorio de Dropbox), y debería darte una lista. El fundamento es que en un nombre de archivo []
se usa para significar: uno de estos caracteres. Así que le pido que liste cualquier archivo en este directorio que contenga uno de estos caracteres. Dentro de los paréntesis, solo necesito escapar de la barra invertida.
(ahora note que este comando también teóricamente capturará muchos nombres de archivos que no son válidos en OSX, por lo que nunca puede estar allí en primer lugar, pero eso no importa).