Le regole di ciò che è un nome file di Windows valido è estremamente complessa, vedi qui . Dipende dal file system e, ad esempio, anche da dove la cartella Dropbox è montata in Windows (poiché il nome completo del percorso in windows non può superare un certo numero di caratteri). E poiché OSX non sa dove montare Dropbox sotto Windows, non può garantire che un particolare file funzionerà.
Ora, è più facile chiedersi se possiamo trovare tutti i file contenenti un carattere che è illegale nei nomi di file di Windows, ovvero <>:"/\|?*
(secondo lo stesso documento). Questo è abbastanza semplice usando la linea di comando:
find . -name '*[<>:"/\|?*]*'
Esegui questo nella directory Dropbox (o sostituisci .
con la directory Dropbox) e dovrebbe darti un elenco. La logica è che in un nome di file []
viene usato per significare: uno di questi caratteri. Quindi sto chiedendo di elencare qualsiasi file sotto questa directory che contiene uno di questi caratteri. Tra parentesi, ho solo bisogno di uscire dalla barra rovesciata.
(ora noti che questo comando in teoria cattura anche molti nomi di file che non sono validi su OSX, quindi non può mai essere lì in primo luogo, ma non importa).