The 255 question marks method could match a very long name, or a very long path, but it's not perfect for finding things where path + name are long. You might have a path that's 200 chars long and a filename that's 100 chars long, so the full path is 300 chars, but they slip through the filter.
Maybe doing something like finding all files that have a path longer than 200 characters or a name longer than 55 characters would give you a small enough list that you can vet the results by hand. I think that would include all the files with paths longer than 255 (unless my sleepy head isn't thinking straight), but it may also include a few false positives (e.g. short path and 60 char name).
You could probably do an all-in-Opus perfect solution by abusing VBScript renaming but I think I'd use John's batch file instead, since it's already made and does the job.