C:\Users\username\AppData\Roaming
C:\Users\username\AppData\Local\Temp
Я пишу приложение для Windows, и мое приложение будет довольно часто использовать эти два расположения, указанные выше, и чтобы избежать сюрпризов, я хочу точно знать, разрешает ли Windows использовать пробелы в путях к этим расположениям, например:
C:\Users\user Name\AppData\Roaming
C:\Users\user Name\AppData\Local\Temp
Я просмотрел несколько документов Microsoft, но не смог найти эту конкретную информацию.
решение1
Конечно, могли, и не только из-за имени пользователя.
Во всех системах Windows 2000/XP эти два каталога располагались по адресу:
C:\Documents and Settings\User\Application Data
C:\Documents and Settings\User\Local Settings\Temp
(Я слышал слухи, что это название было выбрано намеренно, чтобысила(новые программы, принимающие длинные имена файлов на случай, если «C:\Program Files» окажется недостаточно подходящим решением.)
Хотя эти версии Windows сейчас в основном не поддерживаются, такие пути могут все еще оставаться в конфигурациях приложений, если та же система была напрямую обновлена с 2000/XP до Vista/7, а оттуда до Win8/10. Они остаются допустимыми путями и в современных версиях, благодаря тому, что Windows создает скрытые символические ссылки, указывающие старые имена на новые.
В общем, хорошо написанная программа должнавсегдапредполагают, что любой путь может содержать пробелы, запятые, апострофы и другие забавные вещи. Они разрешены в путях с тех пор, как "C:\My Documents" вВиндовс 95– в 2021 году они должны стать базовым предположением, а не «сюрпризом»!
решение2
Ограничений на имя пользователя/имя учетной записи нет. Оно может содержать пробелы, и документация не видит необходимости упоминать об этом.
Например, см. пост Windows 10 — имя пользователя с пробелами и PATH, где имя пользователя было «Miha Šušteršič».