File path contains symbols that are not supported by the Windows system

Its a fresh installation with latest “current” seafile version.

Just for documentation:
This command will find most filenames that are invalid on windows (run in the folder you are interested in).

find . -name '*[<>:"/\|?* ]*'

Even if you are not using windows it might make sense to correct the paths.

1 Like

Unfortunately this is still there. Makes it incompatible with Google Drive and Mac and Linux. This got 5k views which is a lot more than most topics. Seems to be a common pain point.

Which version do you use? With correct versions you can check the option to not notify about such errors. This is necessary for some users since they use multiple OS.

My way to fix this :

1/ Find the badly-for-windows named files

sqlite3 ~/Seafile/.seafile-data/repo.db "select * from FileSyncError where err_id = 31" 

2/ Rename them to something simpler. The pattern mentioned earlier ‘[<>:"/|? ]*’ might tell you what characters to remove. I also had newline \n in some file names…

3/ Clear the errors in the db… Somehow they do not disappear on resync, might be a bug. Writing the db might be something that we should not do, but this helps a lot.

sqlite3 ~/Seafile/.seafile-data/repo.db "delete from FileSyncError where err_id = 31" 

You might also want to do that just on the specific repo you’re currently working. then add cond and repo_id = ... or and repo_name = ...

4/ Resync, and repeat until all files are named ok for windows.

The latest versions of Windows and macOS clients no longer produce this notification by default.

I’m on Linux.
Actually this notification is quite useful, I’m on Linux then, but I have some shares with family members on Windows.

The same change has been made to Linux sync client. But you have to download the latest client in AppImage format.