patchdirs: Support all filenames; use only File::Spec for paths