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
我查阅了一些 MS 文档,但找不到这个具体的信息。
答案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”以来,它们就被允许出现在路径中Windows 95– 在 2021 年,它们应该是一个基线假设,而不是“惊喜”!
答案2
用户名/账户名没有限制。它可能包含空格,文档中没有提到这一点。
例如,参见帖子 Windows 10 - 带有空格和 PATH 的用户名,其中用户名为“Miha Šušteršič”。