windows路径中绝对禁止的字符是:、*、?、"、、|、、/及空字符 和ascii 0x00–0x1f控制字符,这些字符在任何位置都会导致api校验失败并返回error_invalid_name(123)。

Windows下哪些字符绝对不能出现在文件路径中
Windows对路径字符有硬性限制,:、*、?、"、、<code>>、|、、/ 这9个字符在任何位置(包括文件名和路径各段)都非法。哪怕只是出现在字符串里,就无法创建或访问对应路径。
注意: 和 / 在路径中是分隔符,但单独作为文件名的一部分(比如 "a.txt" 中的 b.txt 本身含 )会直接触发系统拒绝——这不是编码问题,是Win32 API层面的校验失败。
-
CreateFileW或std::filesystem::create_directories遇到这些字符会返回错误,GetLastError()通常是ERROR_INVALID_NAME(123) - 空字符
