in reply to Illegal characters in windows filenames?

I don't know a lot about it, but it's my understanding that windows has a lot of functions where there is one version that takes paths with 1-byte characters and another version that takes paths with 2-byte characters. Using a program that calls the latter, you can make a file whose name isn't usable by a program the uses the former. Apparently the wide characters get replaced by a "?" when returned.

What you need to do is translate the name you get into a short name, or read through the directory getting short names instead of long ones. I'm sure there must be a Win32:: function to do this, or you could experiment with parsing the output of system 'dir /X "long name with ? wildcard"'